سيستم عامل مديريت شبکه
خداحافظی وبلاگ):

             گروه ICT

    واحد جهاد دانشگاهی همدان

 دوستان سلام(البته آخرین سلام)

کم کم داریم به امتحانات نزدیک میشیم و مهمتر از اون٬ اینکه به پایان کار وبلاگ رسیدیم

از شما به خاطره همکاری صمیمانتون ممنونم و خوشحالم از اینکه در خدمتتون بودم.

امیدوارم هم شما و هم استاد گرامی از عملکرد وبلاگ راضی بوده باشید.

در پایان از  طرف خودم و دیگر دانشجویان هم تشکر ویژه ای دارم

 از استاد محترم و گرامی ٬جناب مهندس قنبری  که در این مدت از هیچگونه کمکی نسبت به دانشجویان  دریغ نکردندوهمواره ما را راهنمایی نمودند.

                                                                              با تشکر   

                                                                           " به امید حق"

پيام هاي ديگران ()        link        سه‌شنبه ٢٢ خرداد ،۱۳۸٦ - ICT GROUP

 

 آدرس ایمیل استاد قنبری:

                    arashganbari@yahoo.com 

 آدرس ایمیل من(سمیرا نوری):

                                          sanjab_17@yahoo.com   

پيام هاي ديگران ()        link        سه‌شنبه ۸ خرداد ،۱۳۸٦ - ICT GROUP

مطالب ارسالی جديد

   

در اين مقاله سعي بر اين بوده‌است كه كلياتي در مورد هسته سيستم‌هاي عامل و تفاوت ساختاري و عملكردي گونه‌هاي متفاوت آن ارايه شود.

كليد واژه:


سيستم عامل، كرنل، هسته، هسته يكپارچه، هسته دورگه، ريزهسته، برون‌هسته
Operating System, OS, kernel, Monolithic, Microkernel, Hybrid, Exokernel


در علم كامپيوتر، هسته (kernel) اساسي‌ترين بخش يك سيستم عامل است. هسته سيستم عامل برنامه‌اي است كه دسترسي ايمن به سخت‌افزار را براي برنامه‌هاي گوناگون فراهم مي‌كند. به علت تعدد برنامه‌هاي كامپيوتري، همچنين از آنجايي كه دسترسي به سخت‌افزار محدود است، هسته از طريق تكنيكي كه Multiplexing ناميده مي‌شود، تصميم مي‌گيرد كه يك برنامه چه وقت و به چه مدت مي‌تواند بخشي از سخت‌افزار را در اختيار بگيرد. از آنجايي كه دسترسي مستقيم به سخت‌افزار مي‌تواند بسيار پيچيده باشد، معمولا هسته سيستم‌هاي عامل مجموعه‌اي از سخت‌افزارهاي مجرد را پياده‌سازي مي‌كنند. اين مجرد‌سازي پيچيدگي‌هاي سخت‌افزاري را پنهان مي‌كند و رابطي (Interface) ساده و يكنواخت براي سخت‌افزار فراهم مي‌كند كه استفاده از آن را براي برنامه‌نويسان آسان‌تر مي‌كند.
براي اجراي يك برنامه بر روي كامپيوتر وجود هسته در سيستم عامل ضروري نيست. برنامه‌ها مي‌توانند مستقيما بر روي كامپيوتر بارگذاري و اجرا شوند، به شرط آنكه نويسنده برنامه‌ توانايي نوشتن چنين برنامه‌هايي را، بدون پشتيباني سيستم عامل و انتزاع سخت‌افزاري داشته باشد. اجراي برنامه‌ها بدون استفاده از سيستم عامل، در بسياري از كامپيوترهاي اوليه روش معمولي بوده است. البته، در اين روش براي اجراي برنامه‌هاي مختلف لازم بود كه مجددا كامپيوتر راه‌اندازي (Reset و برنامه بارگذاري شود. سرانجام براي رفع اين مشكل برنامه‌هاي كمكي كوچكي مثل loaderها و debuggerها ايجاد شدند، كه حين اجراي برنامه‌هاي مختلف در حافظه باقي‌مي‌ماندند يا از حافظه ROM بارگذاري مي‌شدند. با توليد اين برنامه‌هاي كمكي پايه و اساس چيزي كه ما آن را هسته سيستم عامل مي‌خوانيم شكل گرفت.
چهار نوع دسته بندي كلي براي هسته سيستم‌هاي عامل وجود دارد:
 
1.       هسته يكپارچه (Monolithic)، كه انتزاع (abstraction) [1] سخت‌افزاري نيرومندي را فراهم مي‌آورد.
2.       ريزهسته (Microkernel)، كه مجموعه‌اي كوچك از انتزاع ساده سخت‌افزاري را به وجود مي‌آورد و از نرم‌افزارهايي با نام سرويس‌دهنده (Server) استفاده مي‌كنند تا قابليت بيشتري را ارايه دهند.
3.       هسته دورگه (Hybrid) يا "ريزهسته اصلاح شده كه شباهت زيادي به ريزهسته‌ دارد، با اين تفاوت كه به منظور اجراي سريع‌تر، شامل كدهايي اضافي در فضاي هسته مي‌باشد.
4.       برون‌هسته (Exokernel)، كه هيچ گونه انتزاعي را فراهم نمي‌كنند، ولي با استفاده از كتابخانه‌اي از توابع (libraries) براي افزايش كارايي، دسترسي مستقيم يا نيمه‌مستقيم به سخت‌افزار را فراهم مي‌كنند.
 
هسته يكپارچه (Monolithic)
 
هسته يكپارچه (Monolithic)، يك رابط مجازي سطح بالا بر روي سخت‌افزار تعريف مي‌كند. همچنين مجموعه‌اي از توابع براي پياده‌سازي سرويس‌دهنده‌هاي سيستم عامل، مانند مديريت پردازش‌ها (Process Management)، هم‌زماني (Concurrency) و مديريت حافظه را فراهم مي‌آورد.
حتي اگر تمام اجزايي كه به  اين عمليات سرويس‌ مي‌دهند از كل مجموعه هسته جدا باشند، از لحاظ همبستگي كد در تنگنا سختي خواهيم بود و با توجه به اينكه تمام اجزا در يك فضا اجرا مي‌شوند، بروز خطايي در يكي از آنها مي‌تواند كل سيستم را مختل كند. از طرفي ديگر، وقتي كه پياده‌سازي تكميل و قابل اطمينان شد، شرايط همبستگي تنگاتنگ بين اجزاي داخلي باعث مي‌شود كه امكانات سطح پايين سيستم به طور موثري در دسترس قرار گيرد و منجر به يك هسته يكپارچه، با كارآيي بسيار بالا شود.
 طرفداران هسته‌هاي يكپارچه عقيده دارند كه اگر كدي خطا دارد نبايستي در هسته قرار داشته باشد (متعلق به هسته باشد). چرا كه در غير اين صورت، برتري اندكي نسب به ريزهسته‌ها خواهند داشت. سيستم‌هاي عامل Linux و Unix را مي‌توان جزو پيشرفته‌ترين هسته‌هاي يكپارچه دانست
                                      "هيوا  سادات رضوي"
-----------------------------------------------------
مديريت حافظه در NET
در اين مقاله سعي شده است چگونگي ساخته شدن Objectها توسط برنامه ها , چگونگي مديريت طول عمر اشيا در .NET و چگونگي آزاد شدن حافظه هاي گرفته شده توسط Garbage Collector شرح داده شود.
درک مباني کار Garbage Collector:
هر برنامه به نحوي از منابع مشخصي استفاده ميکند. اين منابع ميتوانند فايلها، بافرهاي حافظه، فضاهاي صفحه نمايش، ارتباطات شبکه اي، منابع بانک اطلاعاتي و مانند اينها باشند. در حقيقت در يک محيط شيي گرا هر نوع داده تعريف شده در برنامه معرف يك سري منابع مربوط به آن برنامه هستند. براي استفاده از هر نوع از اين داده ها لازم است که براي ارايه آن نوع مقداري حافظه تخصيص داده شود. موارد زير براي دسترسي به يک منبع مورد نياز است:

1)تخصيص حافظه براي نوع داده اي که منبع مورد نظر را ارايه ميدهد. اين تخصيص حافظه با استفاده از دستور newobj در زبان IL صورت ميگيرد که اين دستور از ترجمه دستور new در زبانهايي مثل C# و Visual Basic و ديگر زبانهاي برنامه نويسي ايجاد ميشود.
2)مقداردهي اوليه حافظه براي تنظيم حالت آغازين(Initial state) منابع و قابل استفاده کردن آن. توابع Constructor در اين نوع داده ها مسئول اين تنظيمات براي ايجاد اين حالت آغازين هستند.
3)استفاده از منابع با دسترسي به اعضاي موجود در نوع داده.
4)از بين بردن حالت کلي منابع براي پاک کردن آن.
5)آزادسازي حافظه. Garbage Collector مسئول مطلق اين مرحله به شمار مي رود.

اين نمونه به ظاهر ساده يکي از ريشه هاي اصلي خطاهاي ايجاد شده در برنامه نويسي به شمار ميرود. مواقع زيادي پيش مي آيد که برنامه نويس آزادسازي يک حافظه را وقتي ديگر مورد نياز نيست فراموش مي کند. مواقع زيادي پيش مي آيد که برنامه نويس از يک حافظه که قبلا آزاد شده استفاده کند.
اين دو باگ برنامه ها از اکثر آنها بدتراند زيرا معمولا برنامه نويس نميتواند ترتيب يا زمان به وجود آمدن اين خطاها را پيش بيني کند. براي ديگر باگها شما ميتوانيد با مشاهده رفتار اشتباه يک برنامه آن را به سادگي تصحيح کنيد. اما اين دو باگ موجب نشت منابع (Resource Leak) (مصرف بيجاي حافظه) و از بين رفتن پايداري اشيا ميشوند که کارايي برنامه را در زمانهاي مختلف تغيير ميدهد. براي کمک به يک برنامه نويس براي تشخيص اين نوع خطاها ابزارهاي ويژه اي مانند Windows Task Manager و System Monitor ActiveX Control و NuMega Bounds Checker و ... طراحي شده اند.
يک مديريت منبع مناسب بسيار مشکل و خسته کننده است. اين مورد تمرکز برنامه نويس را بر روي مطلب اصلي از بين ميبرد. به همين دليل نياز به يک مکانيسم که مديريت حافظه را به بهترين نحو انجام دهد در اين زمينه به وضوح احساس ميشد. در پلتفرم .NET اين امر توسط Garbage Collector انجام ميشود.
Garbage Collection کاملا برنامه نويس را از کنترل استفاده از حافظه و بررسي زمان آزادسازي آن راحت ميکند. اگرچه Garbage Collector درمورد منابع ارائه شده توسط نوع داده در حافظه هيچ چيز نميداند، يعني Garbage Collector نميداند چه طور ميتواند مرحله 4 از موارد بالا را انجام دهد: از بين بردن حالت کلي منابع براي پاک کردن آن. برنامه نويس بايد کدهاي مربوط به اين قسمت را انجام دهد چون او ميداند بايد چه گونه حافظه را به درستي و کاملا آزاد کند. البته Garbage Collector ميتواند در اين زمينه نيز قسمتهايي از کار را براي برنامه نويس انجام دهد.
البته، بيشتر نوع داده ها، مانند Int32، Point ، Rectangle ، String ،ArrayList و SerializationInfo از منابعي استفاده مي کنند که احتياجي به نوع ويژه اي از آزادسازي حافظه ندارند. براي مثال منابع يک شئي از نوع Point به راحتي و با نابود کردن فيلدهاي X و Y در حافظه شيي آزاد ميشود.
از طرف ديگر، يک نوع داده که منابع مديريت نشده اي را ارائه ميدهد، مانند يک فايل، يک ارتباط بانک اظلاعاتي، يک سوکت، يک Bitmap، يک آيکون و مانند اينها هميشه به اجراي مقداري کد ويژه براي آزاد کردن حافظه گرفته شده نياز دارند.
CLR نياز دارد که حافظه تمام منابع از يک heap مخصوص که managed heap ناميده ميشود تخصيص داده شود. اين heap شبيه heap زمان اجراي C است و فقط از يک لحاظ متفاوت است و آن اين است که در اين heap شما هيچ وقت حافظه تخصيص داده شده را آزاد نميکنيد. در حقيقت اشيا موجود در اين heap وقتي ديگر نيازي به آنها نباشد آزاد ميشوند. اين مورد اين سوال را ايجاد ميکند که چگونه managed heap متوجه ميشود که ديگر نيازي به يک شيي خاص نيست؟
چندين الگوريتم از Garbage Collector در حال حاضر در مرحله آزمايش هستند و هر کدام از اين الگوريتمها براي يک محيط خاص و نيز براي کسب بهترين راندمان بهينه سازي شده اند. در اين مقاله روي الگوريتم Garbage Collector استفاده شده در Microsoft .NET Framework CLR متمرکز شده است.
زماني که يک پروسه مقداردهي اوليه(Initialize) ميشود، CLR يک قسمت پيوسته از آدرس حافظه را براي آن اختصاص ميدهد اين آدرس فضاي حافظه managed heap ناميده ميشود. اين heap همچنين يک اشاره گر مخصوص هم دارد که ما از اين به بعد آن را NextObjPtr مي ناميم. اين اشاره گر مکان قرار گيري شيي بعدي را در heap مشخص ميکند. در ابتدا اين اشاره گر به آدرس ابتداي فضاي گرفته شده براي managed heap اشاره ميکند.
دستور newobj در زبان IL باعث ايجاد يک شيي جديد ميشود. بيشتر زبانها از جمله C# و Visual Basic براي درج اين دستور در کد IL عملگر new را در برنامه ارائه ميدهند. اين دستور IL باعث ميشود که CLR مراحل زير را انجام دهد:

1)محاسبه تعداد بايتهاي مورد نياز براي اين نوع داده
2) اضافه کردن بايتهاي مورد نياز براي overhead شيي. هر شيي دو فيلد overhead دارد: يک اشاره گر به جدول تابع و يک SyncBlockIndex. در سيستمهاي 32بيتي، هر کدام از اين فيلدها 32 بيت هستند، که 8 بايت را به هر شيي اضافه مي کند. در سيستم هاي 64 بيتي، هر کدام از اين فيلدها 64 بيت است که 16 بايت را براي هر شيي اضافه مي کند.
3)سپس CLR چک ميکند که حافظه مورد نياز براي شيي جديد در managed heap موجود باشد. اگر فضاي کافي موجود باشد اين شيي در آدرسي که NextObjPtr به آن اشاره ميکند ايجاد ميشود. تابع constructor شيي مذکور فراخواني ميشود (اشاره گر NextObjPtr به عنوان پارامتر this به constructor فرستاده ميشود) و دستور newobj آدرس شيي ايجاد شده را برميگرداند. درست قبل از اينکه آدرس برگردانده شود، NextObjPtr به بعد از شيي ايجاد شده پيشروي ميکند و مثل قبل آدرسي که بايد شيي بعدي در آن قرار گيرد را در خود نگه ميدارد.
                                          "هيوا سادات رضوي"
-----------------------------------------------------
زمانبندی در لینوکس

سیستم عامل لینوکس از این نوع زمانبندی برای اجرای برنامه ها استفاده می کند به نظرم مهم رسید شما هم که لینوکس رو به عنوان سیستم عامل خانگی یا کاری استفاده می کنید و می خواهید از بعضی جزئیات آشنا شوید آشنا و معرفی کنم
این زمانبندی یکی از قدیمی ترین ، ساده ترین ، عادلانه ترین و رایجترین الگوریتم های زمانبندی است و از نوع غیر انحصاری (preemptive) می باشد. به عبارتی دیگر یک واحد کوچک زمانی به نام کوانتوم زمانی (time quantum) یا برش زمانی تعریف می شود که معمولا بین 10 تا 100 میلی ثانیه است و هر پروسس حداکثر به این میزان می تواند cpu را در اختیار داشته باشد هنگامی که پردازشی cpu را در اختیار دارد دو حالت ممکن است رخ دهد یا انفجار محاسباتی جاری کمتراز عملیات i/o می شود(مانند fcfs) و یا اینکه انفجارمحاسباتی بیشتر از یک کوانتوم زمانی است که در این حالت تایمر یک وقفه به سیستم عامل می دهد و سیستم عامل با تعویض متن cpu را از پردازش جاری گرفته و آن را به ته صف آماده می فرستد ، سپس از ابتدای صف آماده ، پردازش دیگری را جهت اجرا انتخاب می کند.
از این روش در سیستم های اشتراک زمانی و interactive استفاده شده تا زمانهای پاسخ برای کاربران محاوره ای به صورت گارانتی شود .میانگین زمان انتظاربرای الگوریتم RR غالبا طولانی است
به مثالهای زیر دقت کنید:
سه پردازش با زمنهای انفجاری زیر در لحظه 0 وارد سیستم می شوند . میانگین زمان انتظار آنها را در سیستم RRبا کوانتوم زمانی 4 میلی ثانیه به ترتیب زیر است

حل : نمودار گانت پردازشها به صورت زیر خواهد بود

دقت کنید هنگامی که cpu به p1 داده شده است پش از کوانتوم زمانی از آن گرفته شده و سپس به p2 داده می شود . ولی p2 قبل از اتمام مهلت زمانی 4 میلی ثانیه ، کلا تمام می شود و پردازش p3 ، cpu را در اختیار می گیرد .
شمان انتظار مجموع پریودهای صرف صرف شده در حالت انتظار در صف آماده است لذا برای p1 داریم :
6=4-10=زمان انتظارp1
5.66=17/3 =3/ 7+4+6=میانگین زمان انتظار
کارایی الگوریتم RR به طو کامل به مقدار برش زمانی بستگی دارد . هنگامی که برش زمانی بی نهایت فرض شود در واقع الگوریتم RR تبدیل به الگوریتم fcfs می شود . به طور کلی کوانتوم زمنی نسبت به زمان سوئیچ متن باید بزرگ باشد چرا که در طی تعویض متن هیچ عمل مفیدی انجام نمی شود.

                                  "حمید قربانی ارزنده"

-------------------------------------- 

پيام هاي ديگران ()        link        دوشنبه ۳۱ اردیبهشت ،۱۳۸٦ - ICT GROUP

مطالب ارسالی جديد

مدلهای فرایند (Process Models) که عبارتی اختصاری برای مدلهای فرایند توسعه نرم افزار (Software Development Process) می باشد، دستور کارهایی هستند که به سازندگان نرم افزارها می گویند تولید نرم افزار را از کجا شروع کنند، چگونه ادامه دهند، و به کجا ختم کنند. تا کنون مدلهای گوناگونی بدین منظور ارئه شده است. که برخی از آنها عبارتند از: مدل آبشاری (Waterfall)، مدل توسعه سریع (Rapid Application Development)، مدل توسعه همروند (Concurrent Development)، مدل توسعه مبتنی بر مولفه (Component-based Development) و غیره. در این میان دسته ای از مدلها با عنوان مدلهای تکراری-افزایشی (Iterative/Incremental) شناخته می شوند، که عموماً ملهم از مدل معروف مارپیــچی (Spiral) می باشند. در حال حاضر معروف ترین مدل تکراری-افزایشی RUP می باشد. اما اساس مدلهای تکراری/افزایشی چیست؟
عموماً چارچوب تکراری/افزایشی از چهار فاز زیر تشکیل شده است:
۱- آغاز (Inceprion)
در این فاز معمولاً به تعیین محدوده پروژه و تعریف یک مستند دورنما (Vision) پرداخته می شود. برای پروژه های کوچک و ساده ممکن است این فاز خیلی کوتاه و در حد یک گفتگوی ساده و مجموعه ای از توافقات باشد، اما برای پروژه های بزرگ تر و پیچیده تر ممکن است ماهها و حتی سالها به این فاز پرداخته شود. خروجی های این فاز ممکن است شامل موارد زیر باشد:
  • یک سند دورنما (Vision)
  • یک شناخت اولیه از نیازمندی های مشتری (Customer Requirements)
  • یک فهرست لغات اولیه (Glossary)
  • یک مورد کسب و کار (Business Case) (شامل معیارهای موفقیت و یک پیش بینی مالی و تخمینی از بازگشت سرمایه)
  • یک ارزیابی اولیه از ریسک ها
  • یک طرح پروژه (Project plan)
۲- تشریح (Elaboration)
هدف این فاز تحلیل مساله، توسعه بیشتر طرح پروژه، و حذف مناطق مخاطره آمیز (high risk) پروژه می باشد. یک نکته مهمی که باید در فاز تشریح در نظر گرفته شود این است که اگر چه ما بدنبال کشف جزئیات هستیم، اما این جزئیات مربوط به صورت مساله (problem) (یعنی تحلیل) می باشند، و نه مربوط به پاسخ مساله (Solution) (جزئیات مربوط به طراحی و پیاده سازی). اصطلاحی که در این مورد بکار برده می شود این است که باید بدنبال بدست آوردن a mile wide and inch deep view بود.
مهمترین خروجی های این فاز عبارتند از:
  • مدل مورد کاربردی (use case model)
  • مدل مفهومی (conceptual model) با استفاده از نمودار کلاس (class diagram)
۳- ساخت (construction)
۴- انتقال (Transition)
                                                 "هيوا سادات رضوی"
-----------------------------------------------------
 
تغيير ميزان تاخير نمايش منوها در ويندوز
 
ويندوز به طور معمول منو ها را با يك وقفه زماني كمي نمايش ميدهد. اصولا كساني كه عاشق سرعت هستند سعي دارند در اين وقفه هم صرفه جويي كنند ! با اين تنظيمات مي توانيد اين وقفه زماني را تغيير بدهيد و يا از بين ببريد.
از قسمت RUN به رجيستري برويد و سپس اين مسير را دنبال كنيد :
HKEY_CURRENT_USER\Control Panel\Desktop
در منوي سمت راست عبارتي با نام MenuShowDelay پيدا كنيد.
اگر وجود ندارد به اين صورت بسازيد :
يك مقدار از نوع  REG_SZ  با نام MenuShowDelay ( در ترتيب كوچك و بزرگ بودن كلمات دقت كنيد )، حال ميزان اين وقفه را مطابق نظرتان تغيير دهيد اين مقدار بر حسب ميلي بر ثانيه است.
                                  " وحید شعبانلو"
-----------------------------------------------------
لینوکس چیست؟
لینوکس یک سیستم عامل آزاد و باز متن است که تحت مجوز GNU/GPL منتشر شده است. باز متن به این معنی که هر شخصی آزاد است تا از آن استفاده کند ،‌آن را تغییر دهد و حتی می تواند آن را دوباره توزیع کند.
لینوکس در سال ۱۹۹۱ در دانشگاه هلسینکی فنلاند توسط یک دانشجوی جوان به نام لینوس تروالدز نوشته شد. تراوالدز در اصل با Minix (که یک یونیکس خلاصه شده است.) کار می کرد ،‌اما تصمیم گرفت تا سیستم عاملی دلخواه خود و بر اساس UNIX خلق کند و این ماجرا با انتشار نسخه ی 0.02 در سال ۱۹۹۱ توسط او آغاز شد که در زمان نوشتن این مقاله آخرین نسخه ی پایدار آن 2.6 می باشد.
لینوس ترووالدز طی یک نامه ی الکترونیکی خبر نوشتن سیستم عامل بازمتن خود را اعلام کرد ، طولی نکشید که صدها نفر از سراسر دنیا خواهان کار با این سیستم عامل باز متن (
Open Source) که به
UNIX شباهت داشت شدند و شروع به توسعه ی ان کردند.
امروزه توزیع های فراوانی از لینوکس و جود دارد که از هسته و نرم افزار های آزاد (Free Software) همراه هسته تشکیل می شوند. همه ی این توزیع ها از یک هسته ی واحد به نام لینوکس استفاده می کنند.
اگر بخواهیم دقیق تر توضیح بدهیم ، لینوکس یکسری کد است و ارتباط بین سخت افزار ها و نرم افزار ها را برقرار می کند (به عنوان هسته یا کرنل) و یک توزیع لینوکس (که در زبان عام به ان لینوکس می گویند) شامل هسته و تعداد زیادی نرم بازمتن می باشد مانند توزیع های ردهت (
Redhat) ، دبیان ( debian ) ، اسلاکویر( Slackware) وجینتو(Gentoo).
شایان ذکر است که امروزه برای راحتی به توزیع های لینوکس همان لینوکس گفته می شود که البته صحیح آن گنو/لینوکس می باشد ، چرا که بیشتر نرم افزار های استفاده شده در این توزیع ها تحت مجوز های گنو انتشار یافته اند، بنابراین این از این پس هر جا که از لینوکس نام می بریم منظورمان همان توزیع های گنو/لینوکس است مگر ان که صریحا به هسته ی لینوکس اشاره کنیم .
II.لینوکس سیستم عامل قرن ۲۱
در ابتدای مقاله هم اشاره کردیم که گنو/لینوکس یک سیستم عامل بامتن (Open Source) است . بازمتن بودن گنو/لینوکس باعث شده تا عده ی فراوانی از سرتاسر جهان توسط اینترنت گردهم آمده و برروی این سیستم عامل کار کنند ، نتیجه ی این گردهم آیی سیستم عاملی قدرتمند با ویژگی هایی منحصر به فرد شده که علاوه بر رایگان بودن و باز متن بودن ویژگی های بسیاری دارد که باعث شده تا لینوکس که در ابتدا در محیط های دانشگاهی و آکادمیک بزرگ شده حالا دیگر پا به عرصه ی تجارت و دولت بگذارد تا جایی که دولت های بزرگ اروپا مانند آلمان و اسپانیا سیستم عامل ملی خود را لینوکس اعلام کنند و البته نه تنها دولت ها بلکه نهاد ها و وزارت خانههای بسیاری سیستم عامل نهاد یا وزارت خانه ی خود را به لینوکس تبدیل کرده اند مانند وزارت دفاع آمریکا ،‌اداره ی پست آمریکا ،‌نیروهای مسلح ترکیه یا حتی در ایالت کالیفرنیای امریکا نیز برای اداره یامور از این سیستم عامل استفاده می شود. شاید برای شما این پرسش مطرح شده باشد که این ویژگی های لینوکس چیست که این گونه همگان را به سوی لینوکس جذب کرده؟ ما در این جا برخی ویژگی های لینوکس را ذکر می کنیم:
1.هزینه
گنو/لینوکس یک سیستم عامل رایگان است ، البته توزیع هایی هم وجود دارد که به صورت تجاری ارائه می شوند اما قیمت آن ها همواره کمتر از سیستم عامل های تجاری مانند مایکروسافت ویندوز یا UNIX است ، البته این نکته نیز گفتنی است که اغلب توزیع های تجاری لینوکس را نیز می توان به صورت رایگان از اینترنت دریافت (Download) کرد و حتی برای دوستانتان نیز می توانید کپی کنید اما این نسخه هایی که بابت آنها پولی پرداخت نشده ، دارای خدمات پشتیبانی یا کتابچه ی راهنما نیستند .(هر چند که همواره هزاران صفحه اطلاعات رایگان در اینترنت در باره ی توزیع های مختلف گنو/لینوکس وجود دارد.)
پایین بودن هزینه های گنو/لینوکس یکی از عواملی است که دولت های بسیار و شرکت های بزرگ را واداشته تا این سیستم عامل را سیستم عامل رسمی خود اعلام کنند.
2.امنیت و پایداری
لینوکس با توجه به ساختار خود سیستم عاملیست امن و پایدار ، پایداری لینوکس را مدیون روش صحیح استفاده ی آن از سخت افزاریم که این خصلت را از UNIX به ارث برده و امنیت آن را علاوه بر ساختار صحیح ان مدیون بازمتن (Open Source) بودن آن هستیم. بازمتن بودن بودن باعث شده تا در صورت مشاهده ی کوچکترین مشکل در هسته یا نرم افزار های جانبی در چند ساعت یا حد اکثر چند روز توسعه دهندگان و برنامه نویسان ضعف و مشکل را حل کرده و راه حل را در اختیار عموم کاربران قرار دهند. این گونه است که گنو/لینوکس در پایداری و امنیت به یک افسانه تبدیل شده است و جزو ایمن ترین و پایدارترین سیستم عامل های جهان به شمار می رود.
موضوع پایداری و امنیت در حوزه ی سرور ها و شبکه بسیار مهم است تا جایی که لینوکس بیش از 30 در صد از سرور های جهان را شامل می شودو70 در صد دیگر شامل
SCO UNIX و SUN UNIX و IRIX و HP-UX و FreeBSD ودیگر یونیکس ها و Apple Mac و در صدی هم ویندوز می شود و با توجه به تعدد این سیستم ها می بینیم 30در صد خود رقمی قابل توجه است.
باید خاطر نشان کنم که تا به حال برای لینوکس هیچ ویروس یا کرمیبه آن شکل که برای ویندوز مایکروسافت وجود دارد نوشته نشده است و برای نرم افزار های مدیریت ایمیل یا جستجوی وب (
Browser) آن هم ویروسی شناسایی نشده و برعکس IE ویندوز که همواره باید برای آن وصله (Patch) های امنیتی دانلود کرد برای مورورگر های لینوکس بعد نیازی به تلف کردن وقت با این کار ها نیست. 3.نیاز های سخت افزاری اندک
گنو/لینوکس به دلیل ساختار هسته ی مناسب و تعدد توزیع ها می تواند با حداقل امکانات سخت افزاری به خوبی کار کند تا جایی که حتی توزیع هایی وجود دارد که بدون وجود هارد دیک برروی سیستم و یا با حافظه (RAM) معادل 16 مگابایت می تواند سیستم شما را راه اندازی کند .
4.تنظیم و شخصی سازی
گنو/لینوکس را می توان با رابط خط فرمان (Command Line Interface) همانند MS-DOS و یا با رابط گرافیکی مانند ویندوز مایکروسافت یا Apple Mac اجرا و استفاده کرد. دردسر های معمول تنظیم و شخصی سازی میز کار با وجود محیط های گرافیکی مختلف مانند کی دی ای ( KDE) یا گنوم (GNOME) از بین رفته و شما می توانید از ده ها محیط گرافیکی گنو/لینوکس حداکثر بهره را ببرید.
محیط های گرافیکی گنو/لینوکس با هدف رفع نیاز کاربران و به صورت بازمتن بوده و توسط گروه بزرگی از برنامه نویسان در خلق شده و در حال توسعه هستند، شما می توانید باتوجه به شرایط سخت افزاری و سلیقه ی خود از از هر کدام از این محیط های گرافیکی بهره برده و بر اساس نیازتان تنظیمش کنید
5.آزادی
لینوکس یک سیستم عامل آزاد است ،‌شما می توانید با در دست داشتن کد های منبع آن که برنامه نویسان و خالقین لینوکس در اختیار شما قرار می دهند مطابق میل خود تغییر و توسعه دهید ، کافیست شما به زبان های C و ++C و اسمبلی آشنا باشید ، حالا می توانید توزیع خود را داشته منتشر کنید،‌حتی برای کاربران غیر فنی که به این زبان ها اشنایی ندارند ابزار ها و توزیع هایی معرفی می شود تا با حداقل دانش برنامه نویسی به انتشار توزیع مخصوص خود بپردازند.
این آزادی در تغییر و توزیع مجدد با در دست داشتن کد های منبع باعث رواج هر چه بیشتر گنو/لینوکس شده تا جایی که شما می توانید برای هر کاربردی یک لینوکس بیابید! برای نمومنه لینوکسی فقط برای کار های وب وجود دارد و لینوکسی دیگر فقط برای پخش مولتی مدیا و یا لینوکسی برای شبکه .
البته آزاد بودن گنو/لینوکس باعث پیشرفت این سیستم عامل تا جایی است که دولت هایی مانند چین تصمیم به نوشتن توزیع مخصوص به خودشان گرفته اند که کاملا با ویژگی های زبان آن ها سازگاری دارد در صورتی که این موضوع در سیستم عامل های غیر ازاد (Free) و بازمتن مسلما میسر نمی شد.
III.کاربرد های لینوکس
گنو/لینوکس را می توان از میز کار دانش اموزان دبستان در اسپانیا تا ماهواره های کوچک در فضا یافت! از آن جایی که لینوکس یک سیستم عامل ذاتا چند کاربره (Multi User) و چند کاره (Multi Task) است [به این معنی که در یک لحظه بیش از یک کاربر می تواند با ان کار کند و بیش از یک برنامه را اجرا می کند.] و در کنار این دو مزیت سیستم عاملی پایدار و امن است می تواند گزینه ای مناسب برای سرویس دهنده های شبکه باشد ، در حال حاضر اغلب شبکه های بزرگ و معتبر از سیستم عامل لینوکس به عنوان سرویس دهنده ی اصلی خود استفاده می کنند.حتی سرویس دهنده های سایت hotmail بعد از کرک های متناوب از سوی مهاجمین به جای ویندوز مایکروسافت از لینوکس برای مدتی استفاده کرد تا بتواند در مقابل کرک های مداوم مهاجمان دوام بیاورد. البته شرکت بزرگ IBM نیز محصولات سرویس دهنده ی خود را مانند سرور های وب و شبکه با سیستم عامل لینوکس می فروشد .
البته کاربرد لینوکس به سرویس دهنده ها ختم نمی شود بلکه آن را می توان بر روی تقریبا هر ابزاری نصب کرد! آخرین مدل های گوشی موبایل در کره به جای سیستم عامل های قبل از گنو/لینوکس استفاده می کند ،‌در هند لینوکس به عنوان سیستم عامل کامپیوتر های دستی (
Handheld) یا PDA استفاده می شود در ژاپن شرکت سونی در لوازم صوتی و تصویری خود از گنو/لینوکس استفاده می کند ، خلاصه هر کجا به یک سیستم عامل احتیاج هست می توان از لینوکس استفاده کرد و اگر لینوکس برای آن کار مناسب نباشد جامعه ی توسعه دهنده ی لینوکس برای آن کار توسعه می دهندش ! و البته میز کار کاربران معمولی را فراموش کردیم ، همان طور که در بالا گفتیم با توجه به توزیع های متفاوت و محیط های گرافیکی بسیار زیاد برای کار با لینوکس امروزه دیگر این سیستم عامل یک سیستم عامل حرفه ای نیست بلکه یک سیستم عامل حرفه ای و خانگی شده است. شما می توانید در خانه به شنیدن موسیقی یا تماشای فیلم بپر دازید یا کار های خود را مدیریت کنید یا در اینتر نت به گشت وگذار بپردازید یا با دوستتان یک گپ (Chat) اینترنتی بزنید و یا می توانید در خواست مرخصی خود را با برنامه های لینوکسی تایپ کنیدو به مدیر خود بدهید! و البته اگر شما یک برنامه نویس کنجکاو هستید یا برنامه نویس وب ،‌ گنو/لینوکس بهشت شماست !!
البته از دیگر کاربرد های لینوکس استفاده از ان به عنوان سرور اشتراک فایل بجای سیستم عامل گران قیمت ویندوز
NT مایکروسافت است که این کار را سامبا ( Samba ) که یک برنامه ی اشتراک گذاری فایل است برایتان انجام می دهد.البته می توانید به عنوان یک سرور SQL قدرتمند که به وسیله ی پایگاه های داده ای بازمتنی که همراه گنو/لینوکس عرضه می شوندمانندMySQL یا PostgreSQL به رفع نیاز پایگاه داده خود بپردازید.
در اینده ای نزدیک دیگر قابلیت های لینوکس را در مقالات سایت خواهید دید , والبته این بار دیگر تصمیم با شماست که همچنان با مایکروسافت باشید یا لذت استفاده از نرم افزار ازاد را بچشید!!
                                                                                                                        " وحید شعبانلو"
-----------------------------------------------------
  • خطوط را “خرچنگ قورباغه” مي بينيد؟ فرار نكنيد.


بسياري از افراد هنگام مواجهه با صفحات فارسي اي كه در آنها بجاي حروف درست فارسي اشكال عجيب غريب ديده مي شوند، به سرعت سايت را ترك مي كنند. البته اين را ه مناسبي براي تنبيه طراحان صفحات وبي است كه در صفحه وب خود اين مشكل را دارند. ولي چنانچه بخواهيد مي توانيد، احتمالا صفحه را درست كنيد. كليك راست موس را فشار دهيد، از صفحه باز شده، گزينه encoding را انتخاب كنيد. براي درست ديدن صفحات فارسي، يكي يكي گزينه هاي زير را انتخاب كنيد تا ببينيد، كداميك جواب مي دهد: Windows (Arabic) Windows (Western) UTF-۸ يعني ابتدا از گزينه، encoding، windows(Arabic) را انتخاب كنيد، اگر صفحه درست شد كه هيچ ولي اگر درست نشد،‌ مجددا كليك راست كرده encoding و سپس windows (western) را انتخاب كنيد، اگر صفحه درست شد كه هيچ ولي اگر درست نشد، گزينه سوم (يعني UTF-۸) را امتحان كنيد. اگر هيچكدام نشد،‌ ببينيد (احتمالا در صفحه اول سايت) آيا صفحه فارسي با قلم خاصي نوشته شده در نتيجه از شما خواهش شده كه : “ابتدا قلم ما را نصب كنيد”؟ در اينصورت مجبوريد ابتدا آن فونت را به شكل زير نصب كنيد:

۱ـ فونت را دانلود كنيد.

۲ـ در پنجره control panel روي fonts دوبار كليك كنيد تا پنجره مورد نظر باز شود.

۳ـ گزينه Install new font را از منوي File همان پنجره Fonts انتخاب كنيد.

۴ـ مسير فونت مورد نظر را از پنجره هاي ليست Folders، Drives همان پنجره مشخص كنيد. سپس فونت شما در پنجره كوچك list of fonts ظاهر مي شود.

۵ـ حال آن را انتخاب و ok بزنيد تا فونت مورد نظر روي سيستم نصب شود. پس از اين با زدن refresh صفحه وب مورد نظر،‌ مي توانيد آن را به راحتي بخوانيد. ولي اگر باز مشكل داشتيد، روي صفحه وب،‌كليك راست كنيد و در encoding گزينه User defined را انتخاب كنيد. قاعدتا با refresh كردن بايد بتوانيد صفحه را بخوانيد.

                                "  سمیرا حسنی رحمت"

----------------------------------------------------------------------------

افزايش سرعت كامپيوتر تا ٪۷۰

اگر كامپيوترتان قديمي است يا سرعت آن پائين آمده است، نگران نباشيد. توسط اين ترفند شما مي توانيد سرعت كامپيوترتان را در هنگام بالا آمدن ويندوز تا ۷۰ % افزايش دهيد. براي اين كار ابتدا بر روي Start كليك كنيد و گزينه ي Run را انتخاب نمائيد و در كادر مربوطه تايپ كنيد : msconfig سپس پنجره اي باز مي شود. وارد سر برگ Startup شويد. ملاحضه مي كنيد كه در اين قسمت ليست برنامه هايي كه بايد در هنگام بالا آمدن ويندوز اجرا شوند را ملاحضه مي فرمائيد. هر كدام كه مزاحم است (( مثلا بعضي وقت ها در هنگام بالا آمدن ويندوز بلا فاصله وقتي وارد ويندوز شويد برنامه ياهو مسنجر اجرا مي شود ، يا هر برنامه ي ديگر كه باعث كند شدن عملكرد سيستم مي شود )) غير فعال كنيد (( تيك كنار آن را برداريد )) ، سپس OK را بزنيد و سيستم را مجدداً راه اندازي نمائيد، ملاحضه مي فرمائيد كه برنامه اي كه هنگام شروع ويندوز اجرا مي شد ديگر اجرا نمي شود و ويندوز سريع تر بالا مي آيد. با اين كار عملاً سرعت كامپيوترتان بيشتر مي شود.

                                                               "  سمیرا حسنی رحمت"

-----------------------------------------------------

                                                                  

دوستان مطالبی رو خانم عباسی جلال زحمتش رو کشیدن که اگر روی قسمت نظرات(همین بخش) کلیک کنید متیونید ببینید و استفاده کنید;به دلیل حجم زیاد و وقت گیر بودنش نتونستم تو وبلاگ قرارش بدم ,شرمنده!!! 

---------------------------------------------------------------

زمانبندی نوبت گردشی

این زمانبندی یکی از قدیمیم ترین , ساده ترین , عادلانه ترین و رایجترین الگوریتم های زمانبندی است و از نوع غیر انحصاری (preemptive) می‌باشد. این الگوریتم شبیه FCFS است ولی به هر پردازش حداکثر به میزان زمانی مشخصی CPU داده می‌شود.

به عبارتی دیگر یک واحد کوچک زمانی به نام
کوانتوم زمانی (time quantum) با برش زمانی (time slice) تعریف می‌شود که معمولاً بین 10 تا 100میلی ثانیه است و هر پروسس حداکثر به این میزان می‌تواند CPU را در اختیار بگیرد. هنگامی که پردازشی CPU را در اختیار دارد دوحالت ممکن است رخ دهد .

یا انفجار محاسباتی جاری کمتر از یک کوانتوم زمانی است که در این حالت پردازش داوطلبانه CPU را رها می‌کند و منتظر اتمام عملیات I/O می‌شود (مانند FCFS) و یا اینکه انفجار محاسباتی بیشتر از یک کوانتوم زمانی است که در این حالت تایمر یک
وقفه به سیستم عامل می‌دهد و سیستم عامل با تعویض متن (Context switch) CPU را از پردازش جاری گرفته و آن را به ته صفآماده می‌فرستد, سپس از ابتدای صف آماده, پردازش دیگری را جهت اجرا انتخاب می‌کند :


از این روش در سیستمهای
اشتراک زمانی استفاده شده تا زمانهای پاسخ برای کاربران محاوره‌ای بصورت مناسب گارانتی شود.

حد بالای کوانتوم زمانی بایدبه قدری باشد که زمان پاسخ دهی مناسبی داشته باشیم.
حد پایین برش زمانی توسط دو عامل تعیین می‌شود یکی اینکه باید این برش خیلی بزرگتر از زمان تعویض متن باشد مثلاً هزاران برابر.
دیگر آنکه مقدار برش زمانی بایستی کمی بزرگتر از زمان لازم برای یک فعل و انفعال نوعی باشد چرا که در غیر اینصورت هر کار کوچکی نیاز به چندین برش زمانی خواهد داشت و کارایی سیستم به علت تعویض متنهای متعدد کم می‌شود.

یک قاعده سرانگشتی این است که go درصد انفجارهای محاسباتی باید کوتاه‌تر از کوانتوم زمانی باشند و در عمل برا یاین امر برش زمانی را حدود 100 میلی ثانیه در نظر می‌گیرند.

                                     "فاطمه زندیه"
------------------------------------------------------
انواع زمانبند ها در سیستم عامل
 
از یک جنبه زمانبندهای پردازش در سیستم عامل به سه دسته الف- دراز مدت (Long term scheduler) ب– کوتاه مدت(Short term scheduler) ج – میان مدت, تقسیم بندی می‌شوند.
در یک سیستم دسته‌ای پردازشهای بیشتری نسبت به آنچه فوراً می‌توانند اجرا شوند تحویل داده می‌شوند . این پردازشها در دیسک نگهداری می‌شوند .زمانبندی دراز مدت (یازمانبندی کار sheduler Job )پروسسهایی را انتخاب کرده و آنها را برای اجرا از دیسک به حافظه اصلی می‌آورد.

زمانبند کوتاه مدت (یا زمانبند CPU) از بین پروسسهای موجود در حافظه اصلی که آماده اجرا هستند یک را انتخاب کرده و CPU را به آن اختصاص می‌دهد. غالبا زمانبند کوتاه مدت هر صد میلی ثانیه یک بار اجراء می‌شود ولی زمانبند دراز مدت ممکن است هر چند دقیقه یک بار اجرا شود. در واقع زمانبند دراز مدت در جه چند برنامگی (degree of multiprogramming) یعنی تعداد پردازشهای موجود در حافظه را کنترل می‌کند .
زمانبند دراز مدت وقت زایدی برای تصمیم گیری دارد ولی زمانبند کوتاه مدت می‌بایست خیلی سریع تصمیمی گیری کند. زمانبند دراز مدت می‌بایست مخلوط مناسبی از پردازشهای CPU-limiter و I/O limited را جهت قرار گیری در حافظه انتخاب کند تا کارایی CPU و وسایل I/O بهینه شود. در بعضی سیستمها مثل اغلب سیستم های اشتراک زمانی زمانبند دراز مدت وجود ندارد, چرا که هر پردازش در سیستم عامل جدید جهت زمانبند CPU در حافظه گذاشته می‌شود تا زمان پاسخ دهی به برنامه مناسب باشد.

البته بعضی سیستم عاملها از زمانبند میان مدت نیز استفاده می‌کنند. بدین ترتیب که گاهی پروسس هایی از حافظه و در واقع از رقابت جهت دریافت CPU حذف شده و به دیسک برده می‌شوند (swap Out) .بدین ترتیب درجه چند برنامگی کاهش می‌یابد . سپس در زمانی دیگر پردازش در سیستم عامل مذکور مجددا به حافظه آورده شده (swap in) و اجرایش از همان نقطه قبلی ادامه می‌یابد, این عملیات به نام مبادله (swapping)معروف است .
زمانبندی CPU به طوری کلی می تواند انحصاری (غیر قابل پس گرفتن non preemptive) یا غیر انحصاری (قابل پس گرفتن preemptive) باشد.
در سیستم انحصاری فقط هنگامی CPU ازپردازش در حال اجراء گرفته می‌شود که جهت عملیات I/O یا اتمام پردازش در سیستم عامل فرزند را رخداد دیگری بلوکه شود. بنابراین مفهوم و پیاده سازی الگوریتم زمانبندی انحصاری ساده است .ولی ممکن است پردازشی برای مدت طولانی CPU را جهت محاسبات در اختیار بگیرد.
رد این حال پردازشهای دیگر برای مدتی طولانی انتظار خواهند کشید و این موضوع مخصوصاً برای سیستم‌های اشتراک زمانی نامناسب است .لذا در اغلب سیستمها از یک زمان سنج(Timer) داخلی برای ایجاد وقفه‌های متناوب سخت افزاری جهت گرفتن CPUاستفاده می‌شود.
در هر وقفه در سيستم عامل ساعت, سیستم عامل اجرا می‌شود تا تصمیم بگیرد که آیا به پروسس در حال اجرا اجازه ادامه کار را بدهد یا اینکه چون پروسس به اندازه کافی از زمان CPU استفاده کرده آن را معلق نماید تا CPU به پروسس دیگری تخصیص داده شود. فرکانس این وقفه در سيستم عامل‌های ساعت معمولا بین 50تا60 بار در ثانیه است . این نوع زمانبندی که در آن پس از تمام شدن برش زمانی معین , CPU از گرفته می‌شود زمانبندی غیر انحصاری نام دارد.

اولویت
اولویتها می‌توانند بصورت اتوماتیک توسط سیستم نسبت داده شوند و یا از خارج سیستم تعیین گردند, مثلاً ممکن است یک کاربر کار فوری داشته
باشدو حاضر باشد به خاطر بدست آوردن سرویس بالاتر هزینه بیشتری بپردازد , یعنی اولویت را بخرد .
یک اولویت ممکن است استاتیک باشد یا دینامیک . اولویت استاتیک تغییر نمی‌کندو بنابراین پیاده سازی آن ساده است .
ولی این نوع اولویت در مقابل تغییرات محیطی عکس العملی نشان نمی‌دهد . برعکس اولویت دینامیک بر اثر تغییرات محیطی تغییر می‌کند
مثلا ً ممکن است در آغاز یک برنامه اولویت پائینی داشته باشد ولی به تدریج اولویت آن بهبود یابد.

معیار های زمانبندی در سیستم عامل

1. عدالت (fairness) یعنی اطمینان از اینکه هر پروسس سهم عادلانه و منصفانه‌ای از CPU را دریافت کند.
2. کارایی یا بهره وری (utilization- Efficiency) CPU یعنی اینکه CPU در تمام زمانها (حتی الامکان) مشغول باشد
3. زمان پاسخ (Response Time) یعنی به حداقل رساندن زمان پاسخ برای فرمانهای محاوره‌ای کاربر. این زمان معمولاً با سرعت ابزار خروجی محدود می‌شود.
4. زمان برگشت (یا گردش کار Turnaround) یعنی به حداقل رساندن زمانی که کاربران دسته‌ای باید منتظر بمانند تا خروجی آنها پدید آید . فاصله زمانی از لحظه تحویل کار تا لحظه تکمیل کار را زمان برگشت می‌نامند ولی زمان پاسخ مدت زمانی است که از صدور یک تقاضا تا تولید اولین پاسخ آن طول می‌کشد (نه زمان خروجی کل برنامه)
زمان بارگذاری در حافظه +زمان عملیات I/O +زمان اجراء+ زمان انتظاردر صف آماده = زمان گردش کار
5. توان عملیاتی یا گذردهی (throughput) به تعداد پردازشهایی که در واحد زمان تکمیل می‌شوند توان عملیاتی می‌گویند. الگوریتم زمانبندی باید به گونه‌ای باشد که این معیار را افزایش دهد .
6. زمان انتظار (waiting time) الگوریتم زمانبندی CPU, بر میزان زمان اجرای پردازش یا اعمال I/O اثر نمی‌کند, بلکه فقط در زمان صرف شده جهت انتظار در صف آماده اثر می‌گذارد. زمان انتظار , مجموع پریودهای زمانی صرف شده در صف آماده می‌باشد.

زمانبندی صفهای چند گانه Multiple queues
هنگامی که بتوان فرآیندها را به سادگی به دسته‌های متفاوت طبقه بندی کرد از این روش استفاده می‌گردد.
در الگوریتم صفهای چندگانه, صف آماده, به صف های جداگانه مختلفی تجزیه می‌شود و هر پردازش وارد یک صف می‌گردد. اولویت صفها با هم فرق داشته و هر صفی الگوریتم زمانبندی خود را دارد
اول آمده-اول سرویس شده (FIFO):
ساده ترین الگوریتم زمانبندی CPU ,الگوریتم اول آمده, اول سرویس شده (first come- first served =FCFS) می‌باشد . گاهی اوقات به این روش (first In First Out)FIFO نیز می‌گویند. در این روش هر پردازش در سیستم عاملی که اولین در خواست CPU را صادر کند , اولین پروسسی خواهد بود که آن را به دست می‌آورد .
این روش از نوع انحصاری (non- preemptive) است که به سادگی توسط یک صف FIFO پیاده سازی می‌شود.
هنگامی که پردازش در سیستم عامل CPU را به دست گرفت آن را رها نمی‌کند مگر اینکه تمام شود یا جهت انجام عملیات I/O به حالت بسته برود.
زمانبندی نوبت گردشی (Round Rabin) :
این زمانبندی یکی از قدیمیم ترین , ساده ترین , عادلانه ترین و رایجترین الگوریتم های زمانبندی است و از نوع غیر انحصاری (preemptive) می‌باشد. این الگوریتم شبیه FCFS است ولی به هر پردازش حداکثر به میزان زمانی مشخصی CPU داده می‌شود.
به عبارتی دیگر یک واحد کوچک زمانی به نام کوانتوم زمانی (time quantum) با برش زمانی (time slice) تعریف می‌شود که معمولاً بین 10 تا 100میلی ثانیه است و هر پروسس حداکثر به این میزان می‌تواند CPU را در اختیار بگیرد. هنگامی که پردازشی CPU را در اختیار دارد دوحالت ممکن است رخ دهد .
یا انفجار محاسباتی جاری کمتر از یک کوانتوم زمانی است که در این حالت پردازش داوطلبانه CPU را رها می‌کند و منتظر اتمام عملیات I/O می‌شود (مانند FCFS) و یا اینکه انفجار محاسباتی بیشتر از یک کوانتوم زمانی است که در این حالت تایمر یک وقفه به سیستم عامل می‌دهد و سیستم عامل با تعویض متن (Context switch) CPU را از پردازش جاری گرفته و آن را به ته صفآماده می‌فرستد, سپس از ابتدای صف آماده, پردازش دیگری را جهت اجرا انتخاب می‌کند :

از این روش در سیستمهای اشتراک زمانی استفاده شده تا زمانهای پاسخ برای کاربران محاوره‌ای بصورت مناسب گارانتی شود.
حد بالای کوانتوم زمانی بایدبه قدری باشد که زمان پاسخ دهی مناسبی داشته باشیم.
حد پایین برش زمانی توسط دو عامل تعیین می‌شود یکی اینکه باید این برش خیلی بزرگتر از زمان تعویض متن باشد مثلاً هزاران برابر.
دیگر آنکه مقدار برش زمانی بایستی کمی بزرگتر از زمان لازم برای یک فعل و انفعال نوعی باشد چرا که در غیر اینصورت هر کار کوچکی نیاز به چندین برش زمانی خواهد داشت و کارایی سیستم به علت تعویض متنهای متعدد کم می‌شود.
یک قاعده سرانگشتی این است که go درصد انفجارهای محاسباتی باید کوتاه‌تر از کوانتوم زمانی باشند و در عمل برا یاین امر برش زمانی را حدود 100 میلی ثانیه در نظر می‌گیرند.
اول کوتاه ترین زمان (SJF)

در الگوریتم (Shortest Job First) که روشی انحصاری است CPU به پردازش داده می‌شود که کوچکترین انفجار محاسباتی بعدی را دارد.
البته اصطلاح مناسبتر , «کوتاهترین انفجار محاسباتی بعدی»می‌باشد. زیرا این زمانبندی بر اساس طول مدت انفجار CPU بعدی عمل می‌کند و نه بر اساس طول کل پردازش در سیستم عامل . اگر دو پردازش در سیستم عامل مدت انفجار محاسباتی یکسانی داشته باشد براساس FCFS زمانبندی می‌شوند. این الگوریتم می‌تواند انحصاری و غیر انحصاری باشد.

این الگوریتم مخصوصاً برای کارهای دسته‌ای که از قبل زمان اجرای آن کارها , مشخص و معین باشد به کار می‌رود .
مهمترین مشکل در SJF آگاهی از طول درخواست بعدی CPU می‌باشد. هیچ راهی که طول انفجار محاسباتی بعدی را برای ما مشخص سازد وجود ندارد.
لذا در صورت لزوم مجبوریم آن را پیش بینی کنیم . یعنی انتظار داشته باشیم که طول انفجار بعدی خیلی شبیه طول انفجار‌های قبلی باشد.

بالا ترین نسبت پاسخ(HRRN)

زمانبندی Highest Response Ratio Next) HRRN) نوعی زمانبندی انحصاری است که بعضی از مشکلات SJF را برطرف می‌سازد. در SJF نظر افراطی خوبی نسبت به کارهای کوتاه و برعکس نظر افراطی بدی نسبت به کارهای طولانی وجود دارد به طوری که ممکن است مشکل قحطی زدگی رخ دهد. در این زمانبندی اولویت ها دینامیک است.
کارهای کوتاهتر اولویت بیشتری داشته و زودتر اجراء می‌شوند. کارهای طولانی نیز که مدت زیادی در صف انتظار بوده اند اولیت بیشتری کسب کرده وبالاخره در یک زمان معین اجراء می‌شوند. بدین ترتیب مشکل قحطی زدگی برطرف می‌شود

بلا درنگReal time) )

در سیستم بلادرنگ سخت , پردازش در سیستم عامل ها می‌بایست در یک زمان تخمین شده اجراء و اتمام شوند., مانند سیستم کنترل موشک . چنین تضمینی در یک سیستم با حافظه ثانویه یا حافظه مجازی غیر ممکن است . در سیستم بلادرنگ نرم (مانند پخش موسیقی) زمان پاسخگویی به پردازش در سیستم عامل مهم است ولی مانند بلادرنگ سخت , حیاتی نیست .
اتفاقاتی که سیستم بلادرنگ باید به آنها پاسخ دهد به دو دسته متناوب و غیر متناوب تقسیم می‌شوند. وقایع متناوب در فواصل زمانی مساوی اتفاق می‌افتند ولی وقایع متناوب به صورت تصادفی و تصادفی بوده و غیر قابل پیش بینی می‌باشند.
روشهای زمانبندی بلادرنگ به دو دسته کلی پویا و ایستا تقسیم می‌شوند. در حالت ایستا قبل از شروع سیستم , تصمیمات زمانبندی گرفته می‌شود ولی در حالت پویا تصمیمات زمانبندی در زمان اجرای سیستم انجام می‌پذیرد . سه روش زمانبندی بلا درنگ پویا عبارتند از:

• الگوریتم نرخ یکنواخت (Rate monotonic) : در این الگوریتم به هر پردازش در سیستم عامل اولویتی متناسب با فرکانس رخداد آن واقعه نسبت داده می‌شود. مثلاً به پردازشی که هر20 میلی ثانیه تکرار می‌شود, اولویت 50 و به پردازشی که هر 100 میلی ثانیه تکرار می‌شود, اولیت 10 داده می‌شود. این الگوریتم از نوع غیرانحصاری است . می‌توان اثبات کرد که این الگوریتم بهینه است.
• الگوریتم ابتدا زودترین مهلت (Earliest deadline first) در این الگوریتم پردازش در سیستم عاملی ابتدا اجراء می‌شود که فرصتش از همه کمتر است یعنی نزدیکترین مهلت را دارد . این مهلت برای وقایع متناوب برابر زمان رخداد واقعه بعدی می‌باشد.
• الگوریتم کمترین سستی (least laxity) زمان سستی یک پردازش در سیستم عامل زمانی است که می‌تواند آماده باقی مانده و اجراء نشود. مثلاً اگر یک پردازش در سیستم عامل به 200 میلی ثانیه وقت CPU احتیاج داشته باشد. و250 میلی ثانیه نیز مهلت داشته باشد که کارش را تمام کند, زمان سستی او برابر 250-200=50 میلی ثانیه می‌باشد. در این الگوریتم پردازشی ابتدا اجراء می‌گردد که کوچکترین زمان سستی را دارد.

زمانبندی LPT
در زمانبندی (Longest Processing Time) هر گاه که پردازنده‌ای آزاد می‌گردد, از بین کارهای باقی مانده طولانی‌ترین کار را برای اجرا انتخاب می‌کند. هرچند که این الگوریتم بهینه نیست ولی غالباً منحصر به زمانبندی‌هایی با طول معقول می‌شود.
                                               " وحید شعبانلو"
------------------------------------------------------------------------------------------------------------

پيام هاي ديگران ()        link        دوشنبه ٢٤ اردیبهشت ،۱۳۸٦ - ICT GROUP

مطالب ارسالی

سیستم عامل شبکه
Network Operating System(NOS) نرم افزاری است که یک شبکه وترافیک وصف پیامهای روی آن را کنترل می کند.همچنین کنترل دستررسی چندین کاربر به یک منبع بر روی شبکه نظیر یک فایل را بر عهده داردوعملیات مدیریتی مهمی نظیر کنترل امنیت را میسر می سازد. یک سیستم عامل شبکه همان ابزارهای شبکه ای که در سیستم های عامل موجود مانند ویندوز ایکس پی وجود دارد نیست.بلکه یک سیستم عامل شبکه د واقع یک سیستم عامل است که مخصوص استفاده برروی شبکه و به منظوربهینه سازی عملکردشبکه نوشته شده است.
----------------------------------------------------
سیستم عاملهای بروز
اگر دقت کرده باشید امروزه یک سیستمی برای همه سیستم عاملهای پر استفاده و به خصوص مناسب استفاده از شبکه جهانی در نظر گرفته می شود که کاربران آن به راحتی بتوانند با استفاده از آن سیستم ، آخرین تغییرات و تصحیحات بر روی سیستم عامل خود را بدون اینکه خبر داشته باشند در پس پرده چه اتفاقی می افتد از روی اینترنت دریافت کرده و بر روی سیستم عامل خود نصب کنند .
این پدیده را از چند منظر می توان نگریست . اول از همه پر واضح است که برای استفاده از امکانات شبکه جهانی اینترنت اولین و مهمترین عاملی که این استفاده را پر سود خواهد کرد مسئله امنیت است . یعنی شما تا وقتی از امنیت اطلاعات خود بر روی این شبکه مطمئن نباشید ، استفاده از این شبکه برای شما ضرری بیش از سود آن خواهد داشت . برای تامین این امنیت استفاده از سیستم عامل های امن ضروری است . اما همانطور که مشخص است هیچ سیستم عامل نمی تواند ادعای امنیت همیشگی و کامل داشته باشد و به همین دلیل سیستم مورد اشاره می تواند جبران ضعفهای امنیتی ناخواسته را کرده و قسمت های ناامن سیستم را به موقع بروز کند و مشکل امنیت را تا حد زیادی برای کاربران کاهش دهد . همچنین استفاده از نرم افزارهای بروز در سیستم عامل می تواند امکانات جدید و کیفیت بهتری را در اختیار شما قرار دهد که برای دسترسی به این امکانات جدید و کیفیت بهتر باید مرتبا نسخه های جدید نرم افزاری های کاربردی خود را استفاده کنید که استفاده از سیستم مورد اشاره می تواند به راحتی این امکان را در اختیار شما قرار دهد و شما را از آخرین تغییرات نرم افزارهای کاربردی مطلع سازد.
                      "حمید قربانی ارزنده"
--------------------------------------
سام(سیستم عامل ایرانی)

سیستم عامل بدون شک مهم‌ترین نرم افزار در کامپیوتر است. پس از روشن کردن کامپیوتر اولین نرم افزاری که مشاهده می‌گردد سیستم عامل بوده و آخرین نرم افزاری که قبل از خاموش کردن کامپیوتر مشاهده خواهد شد، نیز سیستم عامل است. سیستم عامل نرم افزاری است که امکان اجرای تمامی برنامه‌های کامپیوتری را فراهم می‌آورد. سیستم عامل با سازماندهی، مدیریت و کنترل منابع سخت افزاری امکان استفاده بهینه و هدفمند آنها را فراهم می‌آورد. سیتم عامل فلسفه بودن سخت افزار را بدرستی تفسیر و در این راستا امکانات متعدد و ضروری جهت حیات سایر برنامه‌های کامپیوتری را فراهم می‌آورد.

تمام کامپیوترها از سیستم عامل استفاده نمی‌نمایند. مثلاً اجاقهای مایکرویو که در آشپزخانه استفاده شده دارای نوع خاصی از کامپیوتر بوده که از سیستم عامل استفاده نمی‌نمایند. در این نوع سیستم‌ها بدلیل انجام عملیات محدود و ساده، نیازی به وجود سیستم عامل نخواهد بود. اطلاعات ورودی و خروجی با استفاده از دستگاههائی نظیر صفحه کلید و نمایشگرهای LCD، در اختیار سیستم گذاشته می‌گردند. ماهیت عملیات انجام شده در یک اجاق گاز مایکروویو بسیار محدود و مختصر است، بنابراین همواره یک برنامه در تمام حالات و اوقات اجراء خواهد شد.

برای سیستم‌های کامپیوتری که دارای عملکردی بمراتب پیچیده تر از اجاق گاز مایکروویو هستند، بخدمت گرفتن یک سیستم عامل باعث افزایش کارآئی سیستم و ساده سازی پیاده سازی برنامه‌های کامپیوتری می‌گردد. همه کامپیوترهای شخصی دارای سیستم عامل هستند. ویندوز یکی از پرکاربرد ترین سیستم‌های عامل است. یونیکس یکی دیگر از سیستم‌های عامل مهم در این زمینه‌است. صدها نوع سیستم عامل تاکنون با توجه به اهداف گوناگون طراحی و عرضه شده‌است. سیستم‌های عامل مختص کامپیوترهای بزرگ، سیستم‌های روبوتیک، سیستم‌های کنترلی بی درنگ، نمونه‌هایی در این زمینه هستند.

سیستم عامل با ساده‌ترین تحلیل و بررسی دو کار اساسی را در کامپیوتر انجام می‌دهد:

  • مدیریت منابع نرم افزاری و سخت افزاری یک سِستم کامپیوتری را بر دوش دارد. پردازنده، حافظه، فضای ذخیره سازی نمونه‌هایی از منابع اشاره شده هستند.
  • روشی پایدار و یکسان برای دستیابی و استفاده از سخت افزار را بدو ن نیاز از جزئیات عملکرد هر یک از سخت افزارهای موجود را برای برنامه‌های کامپیوتری فراهم می‌نماید.

اولین وظیفه یک سیستم عامل، مدیریت منابع سخت افزاری و نرم افزاری است. برنامه‌های متفاوت برای دستیابی به منابع سخت افزاری همچون: پردازنده، حافظه، دستگاههای ورودی و خروجی، حافطه‌های جانبی، در رقابتی سخت شرکت خواهند کرد. سیستم‌های عامل به‌عنوان یک مدیر دادگر و مطمئن زمینه استفاده بهینه از منابع موجود را برای هر یک از برنامه‌های کامپیوتری فراهم می‌نمایند.

ومتن پررنگظیفه دوم یک سیستم عامل ارائه یک رابط (اینترفیس) یکسان برای سایر برنامه‌های کامپیوتری است. در این حالت زمینه استفاده بیش از یک نوع کامپیوتر از سیستم عامل فراهم شده و در صورت بروز تغییرات در سخت افزار سیستم‌های کامپیوتری نگرانی خاصی برای اجرای برنامه وجود نخواهد داشت، چراکه سیستم عامل به‌عنوان میانجی بین برنامه‌های کامپیوتری و سخت افزار ایفای وظیفه کرده و مسئولیت مدیریت منابع سخت افزاری به وی سپرده شده‌است .برنامه نویسان کامپیوتر نیز با استفاده از نقش سیستم عامل به‌عنوان یک میانجی براحتی برنامه‌های خود را طراحی و پیاده سازی کرده و در رابطه با اجرای برنامه‌های نوشته شده بر روی سایر کامپیوترهای مشابه نگرانی نخواهند داشت. (حتی اگر میزان حافظه موجود در دو کامپیوتر مشابه نباشد). در صورتیکه سخت افزار یک کامپیوتر بهبود و ارتقاء یابد، سیستم عامل این تضمین را ایجاد خواهد کرد که برنامه‌ها، در ادامه بدون بروز اشکال قادر به ادامه حیات وسرویس دهی خود باشند.

مسئولیت مدیریت منابع سخت افزاری برعهده سیستم عامل خواهد بود نه برنامه‌های کامپیوتری، بنابراین در زمان ارتقای سخت افزار یک کامپیوتر مسئولیت سیستم عامل در این راستا اولویت خواهد داشت. ویندوز xp یکی از بهترین نمونه‌ها در این زمینه‌است. سیستم عامل فوق بر روی سخت افزارهای متعدد تولید شده توسط تولیدکنندگان متفاوت اجراء می‌گردد. ویندوز xpمی تواند هزاران نوع چاپگر دیسک و دیگر تجهیزات جانبی را مدیریت کند .

------------------------------------------------------

 پوسته چیست؟


I.پوسته


به احتمال زیاد تا کنون بیشتر یا فقط با محیط های با رابط گرافیکی(GUI) کار کرده اید ، اما رابط کاربر دیگری که لینوکس و سایر سیستم عامل های شبه یونیکس یا برپایه ی یونیکس آن را دارند رابط خط فرمان یا Command Line Interface است که به اختصار CLI می نامند.قدرت حقیقی لینوکس و یونیکس در این رابط نهفته است و این رابط خط فرمان است که به مدت ۳۰ سال است که یونیکس را به عنوان قدرت مند ترین سیستم عامل مطرح کرد و اکنون این قدرت نهفته در تمام سیستم های شبیه یا برپایه ی یونیکس مانند لینوکس وجود دارد. زمانی می توان با یک سیستم عامل راحتر کار کرد که امکان کار با خط فرمان در آن فراهم شده باشد و در لینوکس این مهم صورت گرفته.

پوسته یا شل(shell) یک رابط است با ظاهری مانند آنچه در MS-DOS آن را دیده اید . البته در اصل پوسته (shell) یک رابط است میان انسان و هسته ی سیستم عامل که زبان انسان ها را به زبان ماشین تبدیل می کند تا هسته (Kernel) سیستم عامل آن را بفهمد . می تواندر یک تجسم غیر رسمی گفت که میزکار های ویندوز(windows) و مکینتاش (Macintosh OS) نیز یک پوسته ی گرافیکی هستند که رابط میان انسان و هسته ی این سیستم عامل هاست و زبان انسان را به زبان ماشین که برای هسته قابل فهم باشد ترجمه می کند.



در طول مدت بوجود آمدن یونیکس تا انتشار نهایی لینوکس پوسته های بسیاری منتشر شده و پوسته یک سیر تکاملی را پشت سر گزارده ، ما در بخش بعد ( همین مقاله ) سعی خواهیم کرد تا شما را با این سیر تحولی آشنا کنیم و در مقالات بعد به نهوه ی کار با این پوسته یا خط فرمان از مبتدی تا سطوح بالا تر خواهیم پرداخت.

II.انواع پوسته

در این بخش به معرفی چند نمونمه ی معروف پوسته های مختلف خواهیم پرداخت البته در لینوکس می توان از تمام این پوسته ها استفاده کرد و در اغلب توزیع های کامل تمام این پوستهها یافت می شوند اما پوسته ی پیش فرض اغلب ( اغلب نه تمام لینوکس ها ) پوسته ی bash می باشد ، دلیل این انتخاب قدرت و به روز بودن این پوسته و علاوه بر این ها انتشار این پوسته بر اساس مجوز GNU/GPL می باشد . ما رد این جا به ترتیب پوسته های Bourn shell و C shell و Korn shell و Bourn again shell و tch shell را مورد بررسی قرار خواهیم داد.

۱. Bourne Shell یا sh

در اصل این پوسته در ازمایشگاه های بل توسط استیون بورن ( Stiven Bourne) برای سیستم عامل
AT&T UNIX نوشته شد البته در لینوکس از این پوسته چندان استفاده نمی شود و در سایر نسخه های یونیکس مانند FreeBSD نیز این پوسته با یک نسخه به نام POSIX جایگزین شده .POSIX از ویرایشگر خط فرمان ، تاریخچه ی خط فرمان (که نه در sh بود نه در سایرCLI ها مانند DOS) و همین طور اسامی مستعار یا aliase ها به طور پیش فرض پشتیبانی می کرد. ۲. C shell یا Csh


این پوسته که اغلب در BSD ها استفاده می شود توسط گروه توسعه دهندگان نرم افزار دانشگاه برکلی که از محدودیت های Bourne shell به ستوه آمده بودند ایجاد شد. دلیل نام گذاری این پوسته به C گرامر یا Syntax این پوسته است که به زبان برنامه نویسی C بسیار شباهت دارد و این موضوع خود باعث دشواری در نوشتن برنامه های پوسته یا Shell Programs می شود .(این برنامه ها درون خود پوسته اجرا می شوند برای اجرا حتمابه پوسته یا شل مخصوص به خود احتیاج دارند در واقع پوسته این برنامه ها را تفسیر می کند.) در این پوسته سیستم کنترل فعالیت هایا Job Controling و تاریخچه ی خط فرمان به صورت پیشرفته و کامل تر وجود دارد . البته در حال حاضر در FreeBSD نسخه های پیشرفته Csh با tcsh جایگزین شده که tcsh را در قسمت های بعد مورد بررسی قرار داده ایم. البته در لینوکس می توان ار هر دوی این پوسته ها استفاده کرد.

۳. Korn shell یا ksh یا pdksh

شرکت
AT&T پوسته ی ksh را در سال ۱۹۸۶ منتشر کرد ، این پوسته که توسط دیوید کورن (David Korn)نوشته شد ، پاسخی بود برای انتشار C shell .این پوسته مانند C shell از کنترل فعالیت (Job Controlling) ، تاریخچه ی خط فرمان (Command line History) و اسامی مستعار پشتیبانی می کرد و نسبت به Bourne shell بسیار کاربر پسند تر بود .در این نسخه برنامه نویسی نیز بسیار راحتر شده بود و همین طور ابزار های آن نیز بسیار بیشتر شده بودند.
pdksh نیز یک Korn shell است با این تفاوت که یک نسخه ی Public domain می باشد که از pd ابتدای آن نیز می توان متوجه این موضوع شد.

۴. Bourne Again shell یا bash

بش یا Bourne again shell یک پوسته ی سازگار و شبیه (ونه برپایه ی ) sh یا Bourne shell است که توسط توسعه دهندگان بنیاد نرم افزار آزاد ( FSF ) توسعه داده شد . همان طور که قبلا هم اشاره کردیم bash پوسته ی پیش فرض اغلب لینوکس ها است. این پوسته شبیه به پوسته ی ksh است با ابزار ها و قابلیت های بیشتر . از جمله غابلیت های جدید این پوسته راهنمای درونی یا Built-in Help آن است همین طور ویرایش مستقیم خط فرمان یا Intuitive Command Line Editing و یا ویرایش تاریخچه ی خط فرمان و جستجو با کلید های جهت دار یا Arrow keys و یا متغییر های محیطی ( Environment Variables) بسیار زیاد آن .البته این پوسته در نسخه های تجاری یونیکس موجود نیست و دلیل آن هم مجوز بسیار عالی GNU/GPL است .

۵. tcsh shell

این پوسته یک پوسته ی پیشرفته بر اساس پوسته ی C shell است .کلمه ی t در ابتدای نام آن اول نام سیستم عامل TENEX است که بر روی DEC PDP-10 اجرا می شود. در این پوسته به C shell قابلیت های بیشتری اضافه شده مانند ویرایش تاریخچه به سبک bash و یا پرسش های قبل اعمال تغییرات ماند پرسش قبل از پاک کردن یک شاخه( Folder ).البته همان طور که قبلا اشاره کردم FreeBSD های پیشرفته از این پوسته به عنوان پوسته ی پیش فرض استفاده می کنند.

III.کدام پوسته

همان طور که قبلا اشاره کردیم اغلب لینوکس ها از bash به عنوان پوسته ی پیش فرض استفاده می کنند و البته لینوکس های کم حجم مثلا در حجم یک فلاپی از پوسته های کم حجم تر استفاده می کنند. از آن جایی که کار با bash بسیار آسان است و مانند کار کردن برنامه نویسی برای آن نیز راحت تر است اغلب لینوکس کار ها این پوسته را می پسندند و بنابراین اغلب اسکریپت ها ی موجود در برنامه های نصب مربوط به لینوکس هم از بر اساس این پوسته نوشته می شوند ، بنابر این برای آنکه بتوانید از کار کردن با پوسته ی خط فرمان لذت ببرید و به راحتی از دستوراتی که در سایت ها و مستندات مختلف می بینید استفاده کنید بهتر است از bash استفاده کنید . البته دلیل دیگر برای استفتده از bash همانا مجوز آن یعنی GNU/GPL است کهبرای کاربران لینوکس قوت قلبیست که از پوسته ای که تحت مجوز بنیاد نرم افزار آزاد منتشر شده است استفاده کنند.
البته در نهایت این تصمیم با شماست که از کدام پوسته استفاده کنید و ما فقط یک پیشنهاد به شما دادیم و البته تمام مطالب این سایت بر اساس پوسته ی bash ارائه شده است.
لازم به ذکر است که برای تعویض پوسته در صورتی که پوسته در کامپیوتر شما نصب باشد کافیست نام پوسته را تایپ کنید مثلا برای رفتن به bash از csh کافیست تا در مقابل اعلان فرمان تایپ کنیدbash تا از این پس با پوسته ی bash کار کنید.

                                                "پویا حاجیلویی"

-----------------------------------------------------

سيستم عامل چيست ؟

 

ُسيستم عامل مهمترين برنامه ای است که بر روی يک کامپيوتر اجراء می گردد و امکانات لازم به منظور اجرای هر نوع برنامه  ديگر  را فراهم می نمايد .

سيستم عامل مهمترين ترين برنامه ای است که بر روی کامپيوتر شما اجراء شده و خدمات متنوعی را در ابعاد متفاوت ارائه می نمايد . بد نيست به برخی از اين نوع خدمات اشاره ای مختصر داشته باشيم : 

·                                  نوع نرم افزاری را که شما می توانيد بر روی سيستم خود نصب نمائيد، مشخص می نمايد .

·                                 هماهنگی لازم به منظور اجرای برنامه ها را انجام می دهد .

·                                 حصول اطمينان از اين موضوع که عناصر سخت افزاری نظير صفحه کليد ، چاپگر و هارد ديسک دارای عملکردی عاری از خطاء بوده و امکان ارتباط با آنان وجود دارد .

·                                 ايجاد شرايط و امکانات لازم به منظور اجرای صحيح برنامه های کامپيوتری نظير واژه پردازها ( نظير MsWord ) ، برنامه های سرويس گيرنده پست الکترونيکی ( نظير OutLook ) ، مرورگرهای وب ( نظير Internet Explorer ) . در صورتی که برنامه ها نيازمند استفاده از  منابع سيستم نظير چاپگر و يا هارد ديسک باشند ، با مديريت سيستم عامل اين امر ميسر می گردد.

·                                 ارائه پيام ها ی خطاء متناسب با مسائل ايجاد شده

سيستم عامل ، نوع و نحوه مشاهده اطلاعات و انجام عمليات مورد نظر را نيز مشخص می نمايد . برخی از سيستم های عامل از يک رابط کاربر گرافيکی معروف به GUI که از کلمات  Graphical User Interface   اقتباس شده است ، استفاده می نمايند . در اين نوع از سيستم های عامل ، اطلاعات با استفاده از تصاوير ( آيکون ،  دکمه ها ، جعبه های محاوره ای ، پنجره ها ،  ... ) و کلمات ارائه می گردد  ( ويندوز نمونه ای از اينگونه سيستم های عامل است ) . ساير سيستم های عامل ممکن است از يک رابط کاربر مبتنی بر متن به منظور تعامل با کاربر استفاده نمايند .

                                               "امید سعیدی"

-----------------------------------------------------

وقفه ها به دورده کلی تقسیم می شوند:

1.       وقفه های نرم افزاری: این وقفه ها توسط نرم افزار تولید می شوند وکارهای نرم افزاری انجام می دهند. مثل وقفه های DOS

2.       وقفه های سخت افزاری: این وقفه ها توسط سخت افزار تولید می شوند مثل وقفه صفحه کلید

تعداد 256 هم سخت افزاری وهم نرم افزاری در سیستم وجود دارد که در جدول زیر آمده اند البته هر کدام از این وقفه ها ممکن است دارای توابعی باشند که در زیر فقت اصل کار این وقفه ها ذکر

شده است.

شماره وقفه

آدرس وقفه

کار وقفه

00

01

02

03

04

05

06

07

08

09

0A

 

0B

0C

0D

0E

0F

10

11

12

13

14

15

16

17

18

19

1A

1B

1C

1D

1E

1F

20

21

22

23

24

25

26

27

28

29-2E

2F

30-32

33

34-40

41

42-45

46

47-49

4A

4B-5B

5C

5D-66

67

68-6F

70

71

72

73

74

75

76

77

78-7F

80-F0

F1-FF

000-003

004-007

008-00B

00C-00F

010-013

014-017

018-01B

01D-01F

020-023

024-027

028-02B

 

02C-02F

030-033

034-037

038-03B

03C-03F

040-043

044-047

048-04B

04C-04F

050-053

054-057

058-05B

05C-05F

060-063

064-067

068-06B

06C-06F

070-073

074-077

078-07B

07C-07F

080-083

084-087

088-08B

08C-08F

090-093

094-097

098-09B

09C-09F

0A0-0A3

0A4-0BB

0BC-0BF

0C0-0CB

0CC-0CF

0D0-0FF

104-107

108-117

118-11B

11C-127

128-12B

12C-16F

170-173

174-19B

19C-19F

1A0-1BF

1C0-1C3

1C4-1C7

1C8-1CB

1CC-1CF

100-103

104-107

108-10B

10C-10F

1E0-1FF

200-3C3

3C4-3CF

پردازنده: تقسیم بر صفر

پردازنده: تک گام

پردازنده: NMI وقفه بدون ماسک (خطا برای RAM )

پردازنده: نقطه توقف برنامه دردسترس نیست

پردازنده: سرریزی عدد

Hardcopy

دستورالعمل ناشناخته (فقط برای80286  بکار می رود)

رزرو شده

IRQ0: تایمر ( هر ثانیه 18.2 بار)

IRQ1: صفحه کلید

IRQ2: دومین تراشه 8259 ( فقط برای کامپیوترهای AT بکار می رود )

IRQ3: پورت سریال شماره 2

IRQ4: پورت سریال شماره 1

IRQ5: هارد درایو

IRQ6: دیسکت

IRQ7: چاپگر

BIOS: تابعهای صفحه نمایش

BIOS: معلوم کردن ترکیب سیستم

BIOS: معلوم کردن اندازه حافظه RAM

BIOS: توابع دیسکت وهارد دیسک

BIOS: دسترسی به پورت سریال

BIOS: نوار مغناطیسی وتوابع پیشرفته

BIOS: پرسش از صفحه کلید ( پویش صفحه کلید )

BIOS: دسترسی به پورت موازی چاپگر

صدا زدن ROM BASIC

BIOS: BOOT کردن سیستم ( Ctrl+Alt+Delete )

BIOS: فرمان Time یا Date

کلید Break ( نه کلید Ctrl-C ) فشرده شده است

بعد از هر بار فراخوانی INT 8 فراخوانی می شود

آدرس جدول پارامتر ویدئویی

آدرس جدول پارامتر دیسکت

آدرس نمونه کارکتر بیتی

DOS: خروج از برنامه

DOS: صدا کردن توابع DOS

آدرس خروج ازروتین برنامه در  DOS

آدرس روتین Ctrl-Break در DOS

آدرس خطا در DOS

DOS: خواندن دیسکت و هارد دیسک

DOS: نوشتن دیسکت و هارد دیسک

DOS: خروج از برنامه و مقیم شدن در حافظه

DOS: DOS اشغال نشده است

DOS: رزرو شده

DOS: Multiplexer ( تقسیم کننده )

DOS: رزرو شده

توابع گرداننده ماوس

DOS: رزرو شده

آدرس جدول 1 هارد دیسک

رزرو شده

آدرس جدول 2 هارد دیسک

برای استفاده برنامه ها

دسترسی به زنگ ساعت ( فقط در کامپیوترهای AT)

خالی: برای استفاده برنامه ها

توابع NETBIOS

خالی: برای استفاده برنامه ها

توابع مدیریت حافظه EMS

خالی: برای استفاده برنامه ها

IRQ08: ساعت بلا درنگ ( فقط در کامپیوترهای AT )

IRQ09: (فقط در کامپیوترهای AT )

IRQ10: (فقط در کامپیوترهای AT )

IRQ11: (فقط در کامپیوترهای AT )

IRQ12: (فقط در کامپیوترهای AT )

IRQ13: NMI در 80387 (فقط در کامپیوترهای AT )

IRQ14: هاردیسک (فقط در کامپیوترهای AT )

IRQ15: (فقط در کامپیوترهای AT )

رزرو شده

برای استفاده مفسر BASIC

رزرو شده

 

برای استفاده از این وقفه ها باید بدانید که بعضی از این وقفه ها برای کار نیاز به مقدار دهی ثباتها دارند.

http://www.pirnia.net/OS/OS-14-IO-83-10-6and9.ppt#266,1,Slide 1

bekhatere hajme ziyade matlab manbeye an ra moshakhas kardam ta bacheha rafte va estefade konan (ba tashakor)vahid shabanloo

                                       " وحید شعبانلو"

------------------------------------------------

DVMT:
در مادر برد هاي قديمي تر كنترلر گرافيكي به صورت on board بود. از SMBA كه مخفف ( Shared Memory Buffer Architecture ) يا UMA كه مخفف ( Unified Memory Architecture ) مي باشند قسمتي از رم سيستم كه براي استفاده به عنوان رم گرافيكي اختصاص يافته و استفاده مي شد اما اشتراك گذاشتن حافظه خيلي كند بود و استانداردهاي آن جالب توجه عموم نبود. يك ويرايش جديد از اين نوع در اينتل ساخته شد كه چيپ ست 810 نام داشت و بهتر از آن 815 بود. كه كنترل گرافيكي را در خود داشت و قسمتي از رم سيستم را به عنوان رم گرافيكي استفاده مي كرد اين سيستم به نام D.V.M.T كه مخفف (Dynamic Video Memory Tecnology ) بود، شناخته شد.

                                                                                                    "ندا قادری"

پيام هاي ديگران ()        link        یکشنبه ۱٦ اردیبهشت ،۱۳۸٦ - ICT GROUP

مطالب ارسالی

SMP

 روش مشترکی می باشد که چندین پردازشگر بطور جداگانه با یکدیگر در یک مادربرد کار می‌کنند. سیستم عامل با هر دو cpu تقریباً بطور یکسان کار می‌کند و کارهای مورد نیاز را به آنها ارجاع می‌دهد. چیپ‌های دوهسته ای جدید intel و AMD توانایی SMP را بصورت داخلی مورد توجه قرار داده‌اند. پروسسورهای سرور opteron دوهسته ای می‌تواند همچنین بصورت خارجی با دیگر چیپ‌های دوهسته ای ارتباط برقرار کند. (بشرط آنکه چیپ متقابل نیز دارای این خاصیت باشد)
محدودیت اصلیSMP در پشتیبانی سیستم عاملها و نرم افزارها از این تکنولوژی می‌باشد. خیلی از سیستم عاملها (مانند ویندوز XP سری خانگی ) توانایی پشتیبانی از SMP را ندارند و از دومین پردازشگر استفاده نمی‌کنند. همچنین بیشتر برنامه‌های پیشرفته بصورت تک رشته ای کار می‌کنند، در اصل در هر زمان فقط یک پردازشگر در حالت فعال می باشد. برنامه های چند رشته‌ای از پتانسیل موجود در سیستم‌های دو یا چند پرازشگر، می‌توانند نتایج مفیدتری بگیرند، ولی به صورت کامل عمومیت ندارد.
در گذشته
intel و AMD سعی داشته‌اند تا تکنولوژی جدیدی مثل SMD را بیشتر برای پردازشگرهای سرور پیشرفته مانند opteron و Xeon استفاده نمایند ( البته تا قبل از پنتیوم ۳ )

                                                  " سالومه بحرینی"

-----------------------------------------------------

دوستان گرامی لطفا"سعی کنید مطالب خلاصه تر باشند ومرتبط با مطالب ارائه شده!!!

                         از همکاریتون ممنونم

ویندوز ویستا

 
نسخه نهایی شامل یک حلقه DVD ویندوز ویستا
یک حلقه CD شامل کرک و فعالسازی
آموزش جامع نحوه نصب , کرک و فعالسازی
بسته بندی و ارسال پیشتاز رایگان
دریافت نهایتا بین 48 الی 72 ساعت

حداقل سیستم مورد نیاز برای اجرای ویندوز ویستا
-
یک CPU با سرعت 800 MHz  
-  
رم 512 مگابایت

-
هارد با ظرفیت 15 گیگابایت
-
همچنین کارت گرافیک شما باید از DirectX9.0 پشتیبانی کند
در مورد ویندوز ویستا

همچون نسخه های قبلی سیستم عاملهای مایکروسافت , ویستا
نیز با داعیه دگرگونی دنیای رایانش ارائه شده است.صرفنظر از تغییرات
بنیادی و زیر ساختی ,یک رابط بصری جدید , سیستم جستجوی
پیشرفته , ویژگیهای امنیتی مدرن , توسعه قابلیتهای شبکه ای و... از
مهمترین ویژگیهای این سیستم عامل است .
ویندوز ویستا، نسل جدید سیستم عامل های شرکت مایکروسافت است
که سرانجام پس از سالها انتظار نسخه نهایی آن در اختیار علاقه مندان قرار گرفته است .
وقتی ویندوز ویستا را استارت می زنید منوی شیک برنامه ها جلب

نظر می کند که نسبت به ویندوز ایکس پی ساده تر و نظام یافته تر شده است .

کنترل پانل ویندوز ویستا کامل تر از نسخه های پیشین است و گزینه های
جدیدی مانند  Sidebar و Windows Defender در آن دیده می شود
که دسترسی به برخی از امکانات سیستم عامل را آسان تر می کنند
.
مرکزمالتی مدیای ویستا دسترسی مستقیم به گالری عکس و فایلهای ویدیو
و کلیپهای مو سیقی را فراهم می کند .
چیدمان سه بعدی پنجره ها یک افکت جدید بصری در دسکتاپ ویستا است
که جابجایی میان چندین پنجره باز را راحت میکند و لبه پنجره ها
در این حالت شفاف می شوند . ساعت و تقویم ویندوز ویستا اینترفیس
زیبا و کارامدی دارد و می توانید علاوه بر ساعت محلی ساعت چند
شهر دیگر را به انتخاب خود به صورت همزمان داشته باشید . تنضیمات
صوت از طراحی تازه و متفاوتی استفاده کرده است و مجهز به سیستم تشخیص گفتار است .

کلیات ویندوز ویستا
-
افزایش امنیت ویندوز ویستا بدون نیاز به نصب هرگونه ویروس یاب
-
سیستم مدیریتی جدید در ویندوز ویستا
-
مرورگر اینترنت اکسپلور نسخه 7.0
-
سیستم پشتیبان گیری از فایل های مهم بصورت کاملآ خودکار
-
تکنولوژی صوتی تشخیص صدای کاربر
-
تنظیمات پیشرفته جهت برقراری ارتباط با شبکه اینترنت
-
نمای گرافیکی بسیار زیبای Aero در ویندوز ویستا
-
قابلیت شناسایی بیش از 90% سخت افزارهای موجود
-
بروز رسانی خودکار ویندوز ویستا
-
بازیهای جدید مانند شطرنج
-
برخورداری از مو تور جستجوی بسیار سریع  
-
گدجت های موجود یا مینی ابزار ها مانند picture slide shows, Windows Media Player controls
-
پشتیبان گیری در همه جا
-
کمک رسانی قوی تر در ویندوز ویستا نسبت به ویندوز های قبلی

                     

"پویا حاجیلویی"

-------------------------------------------------------------------

 

چگونه يک سيستم عامل را انتخاب نمائيم


زمانی که شما يک کامپيوتر را خريداری می نمائيد ، انتخاب خود را در خصوص نوع سيستم عامل نيز انجام داده ايد، چراکه سيستم عامل بر روی کامپيوتر خريداری شده نصب و در اختيار شما قرار داده می شود . شما می توانيد هر زمان که تشخيص داديد سيستم عامل نصب شده بر روی کامپيوتر خود را تغيير دهيد . در برخی از کشورها ، همزمان با ارائه کامپيوتر سيستم عامل آن نيز عرضه می شود ( مثلا" کامپيوترهای شرکت
Dell و Gateway  به همراه ويندوز مايکروسافت عرضه می گردند ) . 
تاکنون سيستم های عامل متداولی در سطح دنيا طراحی و پياده سازی شده است . هر سيستم عامل دارای ويژگی ها ، مزايا و محدويت های مختص به خود می باشد . در اين رابطه می توان به متداولترين سيستم های عامل موجود اشاره نمود : 

·                                 ويندوز ( Windows ) : ويندوز که دارای نسخه های متعددی است متداولترين سيستم عامل استفاده شده توسط کاربران می باشد. اين سيستم عامل توسط شرکت مايکروسافت ارائه شده و دارای يک رابط کاربر گرافيکی است که استفاده از آن را برای اکثر کاربران راحت تر می نمايد ( نسبت به سيستم های عاملی که دارای رابط کاربر مبتنی بر متن می باشند ) . ويندوز دارای نسخه های جداگانه ای برای کاربران معمولی و  نسخه هائی مختص سرويس دهندگان می باشد .

·                                 Mac OS X : سيستم عامل فوق توسط شرکت اپل ارائه شده است و از آن بر روی کامپيوترهای مکينتاش استفاده می گردد . اين سيستم عامل از لحاظ شکل ظاهری و رابط کاربر گرافيکی دارای شباهت های زيادی با ويندوز می باشد ( با تغييراتی اندک ) .

·                                 لينوکس و ساير سيستم های عامل مبتنی بر يونيکس : از لينوکس و ساير سيستم های عاملی که از يونيکس مشتق شده اند عموما" در ايستگاههای شبکه ای خاص و  يا سرويس دهندگان شبکه نظير سرويس دهندگان وب و پست الکترونيکی ، استفاده می گردد . استفاده از اينگونه سيستم های عامل توسط کاربران معمولی عمدتا" مشکل بوده و به منظور استفاده از آنان به دانش و يا مهارت های خاصی نياز می باشد . همين موضوع يکی از دلايل اصلی در رابطه با عدم گسترش عمومی آنان محسوب می گردد . نسخه هائی از سيستم های عامل فوق در حال پياده سازی است تا کاربران معمولی نيز بتوانند بسادگی از آنان استفاده نمايند . 

           " امید سعیدی"

                  

پيام هاي ديگران ()        link        یکشنبه ۱٦ اردیبهشت ،۱۳۸٦ - ICT GROUP

مطالب جالب در مورد اسم شرکتها ***فرستنده:وحيد شعبانلو***

Adobe:
اسم رودخانه اي كه از پشت منزل مؤسس آن جان وارناك عبور مي كند.

Apple:
ميوه مورد علاقه استيو جابز مؤسس و بنيانگذار شركت اپل سيب بود و
بنابراين اسم شركتش را نيز اپل (به معني سيب ) گذاشت.
Cisco:
مخفف شده كلمه سان فرانسيسكو (San Francisco) است كه يكي از
بزرگترين شهرهاي امريكا است.
Google:
گوگل در رياضي نام عدد بزرگي است كه تشكيل شده است از عدد يك با
صد تا صفر جلوي آن . مؤسسين سايت و موتور جستجوي گوگل به شوخي
ادعا مي كنند كه اين موتور جستجو مي تواند اين تعداد اطلاعات
(يعني يك گوگل اطلاعات ) را مورد پردازش قرار دهد.
Hotmail:
اين سايت يكي از سرويس دهندگان پست الكترونيكي به وسيله صفحات
وب است. هنگامي كه مدير پروژه برنامه مي خواست نامي براي اين سايت
انتخاب كند علاقه مند بود تا نام انتخاب شده اولاً مانند ساير سرويس دهندگان
پست الكترونيك به mail ختم شده و دوماً برروي وبي بودن آن نيز تأكيد شود.
بنابراين نام Hotmail را انتخاب كرد. در كلمه Hotmail حروف Html به ترتيب
پشت سر هم قرار گرفته اند.
HP:
شركت معظم HP توسط دو نفر بنام هاي بيل هيولت و ديو پاكارد تأسيس شد.
اين دو نفر براي اينكه شركت هيولد پاكارد يا پاكارد هيولت ناميده شود مجبور به
استفاده از روش قديمي شير – خط شدند و نتيجه هيولد پاكارد از آب در آمد.
Intel:
از آنجاييكه اين شركت از بدو تأسيس با تأكيد روي ساخت مدارات مجتمع ايجاد
شد. نام آن را INTegrated Electronics يا به طور مختصر INTEL نهادند.
Lotus:
ميچ كاپور مؤسس شركت كه هندي الاصل بود از حالت لوتوس كه يك اصطلاح
مديتيشن متعالي (T.M.) مي باشد براي نامگذازي شركتش استفاده كرد.
Mirosoft:
نام شركت ابتدا به صورت Micro-soft نوشته مي شد ولي به مرور زمان به
صورت فعلي در آمد. Microsoftمخفف MICROcomputer SOFTware است.
و دليل نامگذاري شركت به اين اسم نيز آن است كه بيل گيتس مؤسس
شركت آن را با هدف نوشتن و توسعه نرم افزارهاي ميكروكامپيوتر ها تأسيس كرد.
Motorola:
شركت موتورولا با هدف درست كردن بي سيم و راديوي خودرو كار خود
را آغاز كرد. از آنجاييكه مشهورترين سازنده بي سيم و راديو هاي اتومبيل
در آن زمان شركت Victrola بود. مؤسس اين شركت يعني آقاي پال كالوين
نيز اسم شركتش را موتورولا گذاشت تا علاوه بر داشتن مشابهت اسمي
كلمه موتور نيز به نوعي در اسم شركتش وجود داشته باشد.
Oracle:
مؤسس شركت اوراكل يعني لري اليسون و باب اوتس قبل از تأسيس
شركت روي پروژه اي براي CIA كارمي كردند . اين پروژه كه اوراكل نام
داشت بنا بود تا با داشتن مقادير زيادي اطلاعات بتواند تا جواب تمام
سؤال هاي پرسيده شده توسط اپراتور را با مراجعه به مخزن اطلاعات
بدهد. ( اوراكل در اساطير يوناني الهه الهام است. ) اين دو نفر پس از
پايان اين پروژه شركتي تأسيس كرده و آن را به همين اسم نامگذاري كردند.
Red Hat:
مؤسس شركت آقاي مارك اوينگ در دوران جواني از پدربزرگش كلاهي
با نوارهاي قرمز و سفيد دريافت كرده بود ولي در دوران دانشگاه آن را
گم كرد . زماني كه اولين نسخة اين سيستم عامل آماده شد مارك
اوينگ آن را همراه با راهنماي كاربري نرم افزار دراختيار دوستان و هم
دانشگاهيش قرار دارد. اولين جمله اين راهنماي كاربري
« درخواست براي تحويل كلاه قرمز گم شده » بود.
Sony:
Sony از كلمه لاتين Sonus به معناي صدا مشتق شده است .
SUN:
اين شركت معظم توسط چهار تن از فارغ التحصيلان دانشگاه استانفورد
تأسيس شد.Sun مخفف عبارت Standford Univercity Network مي باشد .
Xerox:
كلمه Xer در زبان يوناني به معناي خشك است و اين براي تكنولوژي
كپي كردن خشك در زماني كه اكترا كپي كردن به روشهاي فتوشيميايي
انجام مي گرفت فوق العاده حائز اهميت بود.
Yahoo:
اين كلمه براي اولين بار در كتاب سفر هاي گاليور مورد استفاده قرار
گرفته و به معني شخصي است كه داراي ظاهر و رفتاري زننده است .
مؤسسين سايت Yahoo جري يانگ و ديويد فيلو نام سايتشان
را Yahoo گذاشتند چون فكر مي كردند خودشان هم Yahoo هستند.
                                      "وحید شعبانلو"

پيام هاي ديگران ()        link        دوشنبه ۱٠ اردیبهشت ،۱۳۸٦ - ICT GROUP

مطالب ارسالی

سیستم عامل شبکه (Network Operating System)

سیستم عاملی است که ویژه پشتبانی از شبکه طراحی می‌‌شود. سیستم عاملهای مبتنی بر سرویس دهنده (Server) علاوه بر کارهای نظارتی ،امنیتی و مدیریتی پشتیبانی از کار در شبکه را نیز هم‌زمان برای چندین کاربر فراهم می‌‌کنند. سیستم عاملی که از وجود شبکه آگاه باشد (Network-Aware) می‌‌تواند امکان دستیابی به منابع شبکه را برای کاربران فراهم سازد. بر خلاف سیستم عاملهای تک کاربره این سیستم عاملها باید درخواستهای دریافتی از ایستگاه‌های کاری مختلف را پاسخ گویند و جزییاتی چون دستیابی و ارتباطات شبکه، تخصیص و به اشتراک گذاشتن منابع، محافظت داده‌ها و کنترل خطاها را نیز مدیریت کنند. سر نام آن NOS است. Network OS نیز نامیده می‌‌شود.

                                                         "  وحید شعبانلو"

----------------------------------------------------

مفاهیم کلی سیستم های عامل:

به طور کلی نرم افزارهای کامپیوتر به دو گروه تقسیم می‌شوند
یکی برنامه‌های سیستمی که عملیات کامپیوتر را مدیریت می‌کنند و دیگری برنامه‌های کاربردی .سیستم عامل (operating system=os) اصلی ترین برنامه سیستمی است که به عنوان رابط بین کاربر و سخت افزار کامپیوتر عمل می‌کند .
سیستم عامل دو وظیفه (یا هدف) اصلی دارد:
سیستم عامل استفاده از کامپیوتر را ساده می‌سازد. این بدان معناست که مثلاًکاربر یا برنامه نویس بدون درگیر شدن با مسائل سخت افزاری دیسکها به راحتی فایلی را بر روی دیسک ذخیره و حذف کند . این کار در واقع با به کاربردن دستورات ساده‌ای که فراخوان های سیستمی (System Calls) را صدا می‌زنند انجام پذیرد .
در صورت عدم وجود سیستم عامل کاربرو یا برنامه نویس می‌بایست آشنایی کاملی با سخت افزارهای مختلف کامپیوتر (مثل مانیتور ,فلاپی , کی بورد و غیره) داشته باشدو روتین‌هایی برای خواندن و یا نوشتن آنها به زبانهای سطح پائین بنویسد. از این جنبه به سیستم عامل با عنوان ماشین توسعه یافته(Extended machine) یا ماشین مجازی (Virtual machine) یاد می‌شود که واقعیت سخت افزار را از دید برنامه نویسان مخفی می‌سازد.
وظیفه دوم سیستم عامل مدیریت منابع(Resource Management) می‌باشد, یعنی سیستم عامل باعث استفاده بهینه و سودمند (اقتصادی) از منابع سیستم می‌گردد. منظور از منابع پردازنده‌ها ,حافظه‌ها ,دیسکها,موس ها , چاپگرها , فایلها , پورتها و غیره هستند. یک سیستم کامپیوتری منابع نرم افزاری و سخت افزاری بسیار دارد که ممکن است در حین اجراء برنامه لازم باشند , سیستم عامل همانند مدیر منابع عمل کرده و آنها را بر حسب نیاز به برنامه‌های مشخصی تخصیص می‌دهد.
سیستم عامل معمولا اولین برنامه‌های است که پس از بوت شدن در حافظه بار می‌شود. پس از بار شدن قسمتی از سیستم عامل بطور دائم در حافظه باقی (Resident)می‌ماند. قسمتهای دیگر با توجه به کاربرد کامپیوتر توسط کاربر از دیسک به حافظه آورده می‌شود.
به قسمت اصلی سیستم عامل که وظایف مهم آن را انجام می‌دهد هسته یا Kernel گفته می‌شود. هسته سیستم عامل برنامه‌ای است که در تمامی اوقات بر روی کامپیوتر در حال اجراست.
سیستم عامل و معماری کامپیوتر اثر زیادی بر روی یکدیگر داشته‌اند. یعنی جهت سهولت کار با سخت افزارهای جدید, سیستم عامل‌ها توسعه یافتندو همچنین در اثنای طراحی سیستم عامل‌ها , مشخص شد که تغییراتی در طراحی سخت افزار می‌تواند سیستم عاملها را ساده تر و کارآمدتر سازد .
هر چند که تطبیق نسلهای کامپیوتر با نسلهای سیستم عامل کار درستی نیست ولی این تطبیق که در ادامه انجام می‌دهیم علت ایجاد سیستم عاملهای جدید را مشخص می‌سازد
 
.
انواع سیستم عامل ها 

Windows
Linux
Unix
DOS
OS/2
Solaris
پیوند های خارجی در مورد سیستم عامل:
http://en.wikipedia.org/wiki/Operating_system
http://dmoz.org/Computers/Software/Operating_Systems 
http://www.osdev.org/wiki/index.php/Projects
http://cliki.tunes.org/Operating%20Systems
http://www.cbi.umn.edu/iterations/haigh.html
**پایان**
                                                       "گرداورنده:مریم یوسفی "
-----------------------------------------------------------------------------
سیستم عامل بیدرنگ

از این نوع سیستم‌های عامل برای کنترل ماشین آلات صنعتی، تجهیزات علمی و سیستم‌های صنعتی استفاده می‌گردد. یک سیستم عامل بلادرنگ دارای امکانات محدود در رابطه با بخش رابط کاربر و برنامه‌های کاربردی مختص کاربران هستند. یکی از بخش‌های مهم این نوع سیستم‌های عامل، مدیریت منابع موجود کامپیوتری بگونه‌ای است که یک عملیات خاص در زمانی که می‌بایست، اجراء خواهند شد , مهمتر اینکه مدیریت منابع بگونه ایست که این عمل در هر بار وقوع, مقدار زمان یکسانی بگیرد.ویرایش] وظایف سیستم عامل

سیستم عامل دارای وظایف زیر است :

سیستم عامل دوکار انجام می‌دهد یکی منابع سخت‌افزار و نرم‌افزار سیستم کامپیوتر را مدیریت و کنترل می‌کند که این منابع شامل پردازشگر، حافظه، فضای دیسک و غیره است دوم یک راه ثابت و استواری را برای کاربران فراهم می‌کند تا آنها بتوانند بدون اینکه مجبور باشند تمام جزئیات سخت‌افزار را بدانند، با سخت‌افزار کار کنند. یعنی در کل می‌توان گفت ارتباط بین استفاده کننده و کامپیوتر و ارتباط بین اجزای مختلف کامپیوتر را برقرار می‌کند.

                               " حمید قربانی"


پيام هاي ديگران ()        link        چهارشنبه ٥ اردیبهشت ،۱۳۸٦ - ICT GROUP

مطالب ارسالی

Chipset روي مادربرد


Chipset به معناي سري تراشه ها مي باشد و همان ICيا تراشه وظيفه خاصي در سيستم به عهده دارد
اين چپ ست ها كارهاي كنترلي در سيستم را به عهده داشته ووظيفه ان كنترل قطعات و ارتباط انها با يكديگر و محيط خارج از سيستم مي باشد بنابراين هر قسمت از سيستم داراي يك كنترلر مي باشد طراحان ICبا قرار دادن چندIC داخل يك chip بزرگتر اين امكان را فراحم مياورد تا قطعات بيشتري توسط يك chip كنترل شود به اين chip بزرگ chipset يا سري تراشه گويند
ميكرو پرسسور cpu)) يا ريز پردازنده در واقع يك كنترلر همه منظوره مي باشد چيپها كنترلرهاي تك منظوره مي باشند كه با در كناره هم قرار دادن انها كنترلهاي چند منظوره chipsetتبديل مي شود
Chipset ها با توجه به قابليت هاي انها در رابطه با كنترل قطعات به انواع مختلفي تقسيم مي شوند اين تقسيم بندي ها با شماره ها ومشخصه هاي گوناگون مشخص مي گردند.

سيگنال صحت ولت‍ا‍‍ژ (قدرت مطلوب power good)
پس از روشن شدن سيستم منبع تغذيه نياز به مقداري زمان دارد تا ولتاژ ان به سطح مطلوب برسد و اگر سيستم شروع به كار كند ومنبع تغذيه بعد ار ان به كار افتد اتفاقات بعدي رخ خواهد داد
براي اينكه كامپيوتر قبل از امادگي منبع تغذيه روشن نگردد سيگنال PG درستي ولتاژ ويا قدرت مطلوب را به مادر برد ارسال مي كند.

                                           " ندا قادری"

------------------------------------------------------

تفاوت های میان نسخه RTM و Retail در مجموعه سیستم عامل ویستا

- نصب صحیح و بی اشکال هم در حالت Bootable و هم در محیط ویندوز بر روی تمامی سیستم ها بدون دریافت Error های رایج هنگام نصب
- پیشرفت های گرافیکی و امنیتی ویستا .
- سازگاری با تعداد بیشتری درایور سخت افزاری
- سازگاری بهتر با نرم افزار های کاربردی
- نداشتن ضعف کارکرد برخی نرم افزارهای کاربردی ویندوز ویستا با سخت افزارها همچون Windows Media Player 11 و Internet Explorer 7.0 .
- ورژن کامل نسخه RTM ویستا Build 6000 و نسخه Retail ویستا Build 6000.16386 می باشد که می بایست به این نکته توجه کنید ! ( برای اطمینان و مشاهده تصویر کلیک کنید )
- حجم نهایی نسخه RTM ویستا 32 بیتی 2.49 گیگابایت است در صورتی که حجم نهایی نسخه Retail ویستا 32 بیتی درحدود 2.52 گیگابایت است !

                                                                    

                        "سالومه بحرینی"                              

-----------------------------------------------------

خوبه که دوستان دیگه ای که درس سیستم ندارند با وبلاگ ما همکاری میکنند!!

معناي بوق هاي مختلف بايوس AWARD 

بايوس آوارد عمدتا به پيامهاي خطا براي آگاه کردن کاربران از وجود مسئله اتکا دارد، اما چند کد بوقي مشهور وجود دارد که اين تراشه بايوس توليد ميکند:

تعداد بوقها در عمليات Post مفهوم بوق

نا محدود (تکرار شوند) خطاي حافظه سيستم

يک بوق بلند پس از دو بوق کوتاه خطاي کارت گرافيک

يک بوق بلند پس از سه بوق کوتاه خطاي گرافيک يا حافظه گرافيک

بوقهاي با ارتفاع بالاي نامحدود (تکرار شونده) خطاي داغ شدن پردازنده

بوقهاي با ارتفاع بالا ، با ارتفاع پايين ( تکرار شونده) خطاي پرازنده

نکته : اگر موقع عمليات POST يک ، دو يا سه بوق بشنويد، تعويض کارتهاي RAM را در نظر بگيريد يا ست کم آنها را بررسي کنيد تا اطمينان يابيد که درست نصب شده اند. اگر در عمليات POST هشت بوق بشنويد اطمينان يابيد که کارت ويدئويي درست نصب شده است، ممکن است لازم باشد که آن را عوض کنيد. اگر موقع عمليات POST تعداد بوقها با آنچه گفته شد متفاوت بود ( چهار تا هفت يا 9 تا يازده بوق)، ممکن است يک مسئله جدي در  مدار مادر يا قطعات ديگر وجود داشته باشد، کامپيوتر را به يک تعميرگاه  ببريد.
----------------------------------------------------------------------
**" این مطلب رو آقای حاجیلویی هم ارسال کرده بودند ولی " چون آقای خداویسی زودتر فرستاده بودند به اسم آقای خداویسی رو وبلاگ قرار گرفت!!!!
                   

اشاره اي به پردازش 32 بيتي و 64 بيتي

سيستم عامل 32 بيتي ، در هر لحظه 4 بايت ، يا 32 بيت رو پردازش مي كنه . و سيستم عامل 64 بيتي ، 8 بايت يا 64 بيت رو در هرلحظه پردازش مي كنه .
يك پردازنده 64 بيتي مي تونه داده هاي بيشتري رو پردازش كنه .( يك پردازنده 64 بيتي داراي ثباتهاي 64 بيتي است و هر بار مي تونه 64 بيت از اطلاعات رو از طريق گذرگاه داده ها انتقال بده و از 64 بيت براي آدرس دهي استفاده بكنه ‌) مهمترين مزيت يك پردازنده 64 بيتي اينه كه مي تونه ram بيشتري رو نسبت به پردازنده 32 بيتي پشتيباني كنه . در واقع athlon هاي 64 بيتي مي تونن مقدار ram بيشتري رو نسبت به آنچه كه windows xp مي تونه شناسايي كنه ، آدرس دهي كنن . نكته اي كه وجود داره ، پردازنده هاي 64 بيتي amd بر خلاف پردازنده اي 64 بيتي
intel ، كد 32 بيتي رو بدون هيچ كم و كاستي از كارايي اجرا مي كنن و در واقع عدم وجود برنامه ها و سيستم عامل 64 بيتي لطمه اي به كارايي اين پردازندها نمي زنه ( حتي زماني هم كه مايكروسافت انتشار سيستم عاملهاي 64 بيتي رو به تعويق انداخت مسوولين amd به هيچ وجه ابراز نگراني نكردن و گفتن كه اين قضيه حتي روي فروش شركت هم تاثير خاصي نداره ) ولي از حداكثر قدرت و كارايي پردازنده نمي شه استفاده كرد .
پردازنده هاي athlon 64 fx-51 , athlon 64 هر دو از گذرگاه hyper -transport پشتيباني مي كنن . hyper -transport يك رابط براي انتقال داده ها بين مدارات مجتمع و كارايي آن 12.8 GBps است . 
در واقع athlon 64 هم برنامه هاي 32 بيتي و هم 64 بيتي رو پشتيباني مي كنه . يعني اينكه اگر ويندوز ، 32 بيتي هم باشه مثل همينxp معمولي اجرا ميشه . اما براي استفاده از قدرت 64 بيتيش ، بايد ويندوز 64 بيتي داشت . تازه در اين حالت هم اگر برنامه اي كه استفاده مي شه 32 بيتي باشه و ويندوز 64 بيتي ، باز هم از كل قدرت 64 بيتي استفاده نمي شه ؛ چون پردازنده يك حالت سازگاري رو ايجاد ميكنه و نميتونه بيشتر از 4 گيگ ram رو به اين برنامه اختصاص بده ، در حاليكه امكان داره 8 گيگ وجود داشته باشه ولي بيشتر از 4 گيگ از ram استفاده نمي شه ، ولي باز هم خيلي سريعتر از حالتي هست كه هم ويندوز 32 بيتي است هم برنامه اصلي كه استفاده مي شه .بنابراين براي استفاده از تمام قدرت 64 بيتي پردازنده ، بايد هم يندوز و هم نرم افزار مورد استفاده64 بيتي باشه .
--------------------------------------------------------------------------------
تفاوت های CPU های AMD وIntel عبارتند از:
1-AMD براساس معماری اجرایی 9 مرحله ای ساخته شده است اما معماری پردازنده های Intel شش مرحله ای می باشد.بدین معنا که AMDدر هر چرخه کاری 9عملیات را انجام میدهد در حالی که Intel فقط 6 عمل را می تواند انجام دهد.
2-AMD از640Kb Cache برخوردار است در حالی که
Intel ، از 532Kb بر خوردار است هر چقدر که میزان Cache پردازنده بیشتر باشد ، پردازنده کارایی بیشتری خواهد داشت اطلاعات بیشتری میتواند ذخیره کند ودیگر لازم نیست پردازنده برای بدست آوردن اطلاعات یا دستور ها مدت زمان بیشتری را رفت و برگشت به حافظه برد اصلی برای جذب اطلاعات یا دستور العمل ها صرف کند.
3- AMD از مس برای اتصال ترانزیستور های بکار رفته در پردازنده ها استفاده میکند در صورتی که در ساختمان پردازنده های
Intel آلومینیوم بکار رفته است.مس هادی الکترسیته بهتری است ، ازاین رو پهنای اتصالهای بین ترانزیستورها را به میزان چشمگیری کاهش می یابد .که این امر باعث مصرف کمتر مواد اولیه و در نتیجه منجر به کاهش هزینه می شود این دلیل ارزان تر بودن AMD نسبت به P4 است.
4- از دیگر تفاوت های میان AMD و
Intel میتوان به راندمان Cache بروی چیپ اشاره کرد ، AMD از معماری انحصاری استفاده میکند که راندمان بیشتری نسبت بیشتری نسبت به طراحی معماری غیر انحصاری Intel دارد.
5-AMD از تکنولوژی پردازش موازی در مقایسه با Hyper -Threading اینتل استفاده میکند ، در بسیاری از کاربردهای امروزی فعال بودن Hyper -Threading کارائی پائین تری ارائه میدهد ، نتایج تحقیقات بیشمار منتشر شده در نشریات رایانه ای و پایگاهای اطلاعاتی معتبر بیانگوی این پدیده هستند.
6-یکی دیگر از مهمترین نکات برتر پردازنده های AMD واحد ممیز شناور آن است که از FPU اینتل بسیار قویتر میباشد که این امر باعث اجرای سریع تر برنامه های چند منظوره( MultiMedia) میشود.
7- زمانی که اینتل P4 را طراحی کرد طول PIPELINE را از 10 مرحله در P3 به 20 مرحله افزایش داد
Intel همین تغیر توانست که تعداد عملیاتی که در چرخه عملیاتی انجام می شود بصورت قابل ملاحظه ای کاسته میشود و از طرف دیگر افزایش طول PIPELINE نیازمند افزایش تعداد ترانزیستور ها برای انجام همان تعداد عملیات میباشد که این امر باعث افزایش اندازه هسته و بالا رفتن قیمت تولید میشود . در حالی که AMD با وجود افزایش فرکانس پردازنده های خود طول pipeline را به همان اندازه p3 یا k6 ثابت نگهدارد .
                                             " مهرداد خداويسي"

پيام هاي ديگران ()        link        چهارشنبه ٥ اردیبهشت ،۱۳۸٦ - ICT GROUP

اصطلاحات سيستم عامل

CPU-----------------------------------------Central Prosess Unit

گذرگاه----------------------------------------------Interface=bus

ماشین مجازی-------------------------Extended=Virtual Machin

                                                        (ثبات ها)  :REGISTERS

PC----------------------------------------------  Program Counter

IR---------------------------------------------Instruction Register

PSW-----------------------------------------Program Status Word

----------------------------------------------------------------------------

JCL-------------------------------------------Job control language

نسل های سیستم عامل:

سیستم عامل های دسته ای------------------------------Batch os
سیستم عامل های چند برنامه ای----------------Multi programing

سیستم عامل های توزیع شده---------------------- Distributed Os 

سیستم عامل بلادرنگ------------Real time Os----------------------

Hard Real time Os----------------------------------------

Real time Os---------------------------------------------- Soft

 سیستم عامل های تعبیه شده-------------------------Embedded Os

سیستم عامل های چند پردازنده ای-----Multi processing Os---------

ASMP------------------------------------Asymmetric Multi Processing

SMP--------------------------------------Symmetric  Multi Processing

اصلی-------------------------------------------------------------Master 

مهلت-----------------------------------------------------------Deadlineِ

محیط نامرئی-----------------------------------------------Trans parent 

pc---------------------------------------------------Personal Computer

------------------------------------------------------

kernel-------------------------------------------------------------- هسته

Shell---------------------------------------------------------------- پوسته

interrupt--------------------------------------------------------------وقفه

Trap------------------------------------------------------------------- تله

ISR----------------------------------------------Interrupt Service Rutin

machine check -------------------------------------------- خطاي ماشين

 program check-----------------------------------------خطاي نرم افزاري

parity error--------------------------------------------------- خطاي توازن

over flow----------------------------------------------------خطاي سرريز

protection fult---------------------------------------------خطاي حفاظت

divide by zero---------------------------------------------تقسيم بر صفر

locality of reference----------------------------اصل محلي بودن مراجعات

----------------------------------------------------------------------------------------

اصابت------------------------------------------------------------------------------Hit

عدم اصابت-----------------------------------------------------------------------Miss

واحد نقل وانتقالات اطلاعات بینRamوCache----------------------Page=Block

واحد نقل وانتقالات اطلاعات بینCacheوRegister-------------------کلمه ی Word

برنامه-----------------------------------------------------------------------Program

برنامه ی اجرا شده-----------------------------------------------------------Process

غیر فعال---------------------------------------------------------------------Passive

فعال----------------------------------------------------------------------------Active

قسمت کد-----------------------------------------------------------Code segment

قسمت نگهداری داده ها-----------------------------------------------Data segment

قسمتی که اطلاعات مربوط به زمانبندی و حالات فرایند نگهداری میشود:                     

 Stack segment                            

                          Extra segment                              

شناسه------------------------------------------------------------------------------ID 

------------------------------------------------------------

"زحمت جمع آوری وارسال اصطلاحات جلسه اخیر ,رو آقای علیرضا مهردوست کشیدند" 

Job------------------------------------------------------------------- كار

Job scheduler-------------------------------------------------زمانبند كار

READY--------------------------------------------------------------آماده

READY HOLD------------------------------------------------آماده معلق

DISPATCHER------------------------------------------------توزيع كننده

RUN-----------------------------------------------------------------اجرا

SYSTEM CALL---------------------------------------فراخواني سيستم

SUPERVISOR CALL---------------------------------فراخواني مديريتي

APLICATION PROGRAM INTRRUPT-----------وقفه ي برنامه كاربردي

BLOKED--------------------------------------------------------مسدود

BLOKED SUSPEND--------------------------------------مسدود معلق

SWAPING--------------------------------------------------------مبادله

 

برچسب------------------------------------------------------------Label

جدول فرآیند------------------------------------------------------Process table

بلاک کنترل فرآیند--------------------PCB(Process Control Block)

PID--------------------------------------------------Process Identifire

UID--------------------------------------------------------User Identifire

GID---------------------------------------------------Group Identifire

اولویت----------------------------------------------------------Priority

زمان بندی بلند مدت---------------------------High Level Scheduler

درجه ی چند برنامگی------------------Multi Programming of Degree

زمان بندی میان مدت-------------------------Middle Level Scheduler

زمان بندی کوتاه مدت-----------------------------Low Level Scheduler

زمان بند ورودی خروجی-------------------------------I/O Scheduler

 

 --------------------------------------------------------------------------------------                                                                                   

Fairness----------------------------------------------عدالت و مساوات

Response time---------------------------------------------زمان پاسخ

Turn around time------------------------------------------زمان گردش

Randeman---------------------------------------------كارايي(باز دهي)

Through put---------------------------------------------توان گذر دهي

Wait time----------------------------------------------------زمان انتظار

Starvation--------------------------------------------گرسنگي(قحطي)

FIFO--------------------------------------------------First In First Out

SJF---------------------------------------------------Shortest Job First

Agin-----------------------------------------------سالمندي(سن رشد)

پيام هاي ديگران ()        link        سه‌شنبه ٤ اردیبهشت ،۱۳۸٦ - ICT GROUP